文章列表
 
2009/02/06 22:14
思路很简单就是暴力,只要注意下中间过程取mod的时候
1.对a分解素数,得到pi,ci分别表示第i个素因子和它的个数
2.ci*b,就是a^b=p1^(c1*b) * .... * pi^(ci*b)
3.所求的就是ans=(1+p1+p1^2+...+p1^(c1*b))*()...*(1+pi+pi^2+...+pi^(ci*b))
4.由于b 比较大,所以求1+p1+p1^2+...+p1^(c1*b)的时候使用二分,要注意取mod,小心溢出

#include <iostream>
using namespace std;
typedef unsigned long long llong;
int p[4000],len=0,top[32][2],tlen;
bool s[7072]={true,true};
void split
 
2009/02/06 18:37
以下是baidu找的题解
以单词为点,能前后相连的单词之间连边,得到一个有向图,求长度为奇数且小于等于N的不同的S->T的路径数。设邻接矩阵为A,则可通过求A
+ A ^ 3 + ... + A ^ N求解。构造一个矩阵后可通过logN次矩阵乘求解。


以下是本人代码

/*
求和的时候稍微做了点优化
*/
#include <iostream>
#include <string>
using namespace std;
#define MAX_SIZE 30
char w[MAX_SIZE][11],ttmp[11];
int moudle,k,size;
inline int fid(char* k){int i
 
2009/02/06 17:48
经典的用矩阵解决的题目.

f(k)表示数列的第k项,那么可以很容易的得到

f(n)            1    1                           f(1)

            =            的n-1次方 *

 
2009/02/06 17:45

一开始土土dfs,不是WA就是TLE .....最后发现原来可以回头走的-_______________-那确实没做过够麻烦想了好久......

最后竟然发现开始点居然被我标记了....取消标记后一次AC的说...

dp[100][100][16]中dp[x][y][t]用来保存(x,y)点在剩余时间还为t时到达终点的方案数.

然后就是土土的dfs....-__________-学习到不少的说,还学到一个小的剪枝

就是如果(x,y)和终点的曼哈顿距离(abs(x1-x2)+abs(y1-y2))大于t,那么肯定就不行拉.

效果还是比较明显的说-_-

下面是代码也..

#in

 
2009/02/06 17:44

按照右端点从小到大的排

然后贪心

其实这也是在大牛的指导下完成的............

#include <iostream>
#include <algorithm>
using namespace std;
struct XML
{
    int _strat_vale,_end_vlaue;
    bool operator<(const

 
2009/02/06 17:40
题目的意思很明白,就是可以同时改变最多5个的颜色(既,自身,上,下,左,右)一开始赤裸裸的BFS,很显然是MLE..
这里不讨论暴力解的情况了....-______________________-暴力是好东西可是偶不会,苍天也.......用暴力的大牛们勿鄙
考虑到状态的特殊性,一个节点要么白色要么黑色,很容易想到用2进制表示,16个节点,最多用16个表示就OK了.
选取的时候自然是去int(32位),因为需要移位
第一次写也不知道这是不是传说中的hash...
 
2009/02/06 17:35

1.先生成小数据.(用暴力)
下面是1~32的数据:
1:0
2:1
3:10
4:11
5:100
6:101
7:110
8:111
9:1000
10:1001
11:1010
12:1011
13:1100
14:1101
15:1110
16:10000
17:10001
18:10010
19:10011
20:10100
21:10101
22:10110
23:11000
24:11001
25:11010
26:11100
27:100000
28:100001
29:100010
30:100011
31:100100
32:100101
通过位数分类,f[i]表示i位所

 
2009/02/06 17:34

生成几组小数据,马上得到规律,a+b满足
f[1]=2;
f[2]=3;
f[3]=5;
....
f[n]=f[n-1]+f[n-2](n>=3)
由于题目需要对2^64取mod
所以直接使用矩阵乘法就可以快速的解决
f[n]      1 1     f[n-1]
       =       *
f[n-1]    1 0     f[n-2]
一直化下去可以得到实际上:
f[n] 

 
2009/02/06 17:30
类似PKU上面的一个题目:

一开始以为是用母函数,可是数据ms不小的说,于是从三进制入手

1.先从最简单的例子开始说起:

 
2009/02/06 17:27

Calculate a + b

Input

The input will consist of a series of pairs of integers a and b,separated by a space, one pair of integers per line.

Output

For each pair of input integers a and b you should output the sum of a and b in one line,and with one line of output for each line in input.

Sample Input

1 5
2 3
Sample Output
6
5
 
   
 
 
文章分类
 
   
 
文章存档
 
     
 
最新文章评论
  

猜到你把m出成20的用意了 。。。我只随机了30次,而没有随机到有解为止,难道就是这
 

orzorz
 

YM啊
 

福大核武 景润后人 Orz!!!
 

福大核武 景润后人 Orz!!!
   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu