- 博客(49)
- 资源 (4)
- 收藏
- 关注
转载 菜鸟,大牛和教主,三者的区别
果断的。。。。我是妥妥的 对菜鸟来说题目有三种:会算法且能AC的,会算法但不能AC的,不会做的 对大牛来说题目有两种:会做的,不会做的 对教主来说题目有两种:能AC的,数据有错的 菜鸟提交WA了,找了N久找不出错时,在论坛大骂数据有错,但是没人理 大牛提交WA了,找了N久找不出错时,写暴力程序或者求别人的AC程序对拍 教主提交WA了,J
2014-05-28 21:38:00 789
转载 搞ACM的你伤不起(转)
劳资六年前开始搞ACM啊!!!!!!!!!! 从此踏上了尼玛不归路啊!!!!!!!!!!!! 谁特么跟劳资讲算法是程序设计的核心啊!!!!!! 尼玛除了面试题就没见过用算法的地方啊!!!!!! 谁再跟劳资讲算法之美算法的力量,劳资一本算法导论拍死你啊!!!!!!!! 那是搞ACM的入门书啊!!!!特么的入门书就一千多页啊!!!!!!! 还没有习题答案啊,学完了你特么都不知道
2014-05-28 21:30:30 810
原创 uvaLA 3029 最大子矩阵(DP)
参见最大子矩阵的论文 AC代码如下: #include #include #include #include using namespace std; int maps[1100][1100]; int N, M; int high[1100][1100], lf[1100][1100], rt[1100][1100]; int main(){ int T, ans
2014-05-28 14:22:40 505
原创 uva 11549 floyd跑圈法
直接暴力跑 k2每次前进两步 k1每次前进一步 k2一定能追上k1 这样空间复杂度降到1,没用stl时间也缩短了 AC代码如下: #include #include #include #include using namespace std; int next( int n, int k ){ int num[20], cnt = 0; long long
2014-05-27 14:47:35 635
原创 uva 10896 DP
dp【i】【j】表示先手所能获得的 AC代码如下: #include #include #include #include using namespace std; int dp[110][110]; int f[110][110], g[110][110]; int N, num[110], sum[110]; int main(){ while( cin >> N &&
2014-05-23 22:31:55 522
原创 LA 3882 约瑟夫环(递推)
约瑟夫问题的变种。。。。 AC代码如下: #include #include #include #include using namespace std; int n, m, k, ans; int main(){ while( scanf( "%d%d%d", &n, &k, &m ) && !( n == 0 && k == 0 && m == 0 ) ){
2014-05-23 15:58:44 613
原创 LA 3971 二分
直接二分搜品质因子 AC代码如下: #include #include #include #include #include #include #include using namespace std; #define MAX 0x3f3f3f3f int N, B; map id; vector price[1100], para[1100]; int cnt, L, R;
2014-05-21 19:35:37 552
原创 uva 10795
#include #include #include #include using namespace std; long long cnt_step( int *p, int i, int to ){ if( i == 0 ){ return 0; } if( p[i] == to ) return cnt_step( p, i - 1,
2014-05-21 18:27:32 467
原创 uva 11384
AC代码如下: #include #include #include #include using namespace std; int main(){ int N, ans; while( scanf( "%d", &N ) != EOF ){ ans = 0; while( N ){ ans++;
2014-05-21 16:39:32 754
原创 hdu 4804 插头DP
和上一篇很像 AC代码如下: #include #include #include #include using namespace std; const long long MOD = 1e9 + 7; int N, M, C, D; long long dp[2][21][1<<11]; char str[110][15]; int main(){ while( sca
2014-05-19 21:49:27 591
原创 cf 413D DP
题目大意:2048的游戏,两个相同的数x可以变成一个2*x,先给出n,表示在一个1*n的矩阵上面玩2048,规定每次向左移动,并且每次出现一个,给出序列n,表示出现的块的值,0表示既可以是2也可以是4,问说有多少种可能,使得游戏结束后的最大块的值大于等于2^k。 解题思路:dp[i][j][x]表示第i个位置,值为j,x表示先前有没有出现过大于2^k的数; 这种递增
2014-05-19 15:14:25 538
原创 2014百度之星资格赛1003
#include #include #include #include using namespace std; struct Node{ struct Node* nt[2]; }; Node node; void add_num( Node *a, long long pos, long long num ){ if( pos < 0 ){ ret
2014-05-17 20:35:07 563
原创 2014百度之星资格赛1004
#include #include #include #include using namespace std; #define MAX 0x3f3f3f3f int dp[7][110][110]; int num[110][110]; int N, M; int tt; int main(){ int T, Case = 1;; scanf( "%d", &T
2014-05-16 20:02:38 512
原创 2014百度之星资格赛1001
#include #include #include #include using namespace std; int main(){ __int64 N, M, V, K, pre; int ans, T; scanf( "%d", &T ); while( T-- ){ scanf( "%I64d%I64d%I64d%I64d",
2014-05-16 19:07:31 555
原创 2014百度之星资格赛1002
#include #include #include #include using namespace std; #define MAX 0x3f3f3f3f int dp[1100][1100]; int N, pos[1100], maxn; int main(){ int T; scanf( "%d", &T ); while( T-- ){
2014-05-16 18:41:24 544
原创 vijos 1493 双线程DP
AC代码如下: #include #include #include #include #include using namespace std; int dp[2][610][610], num[610][610], N, M; int max4( int a, int b, int c, int d ){ return max( max( a, b ), max( c,
2014-05-14 12:39:54 505
原创 hdu 2686 双线程DP
AC代码如下: #include #include #include #include #include using namespace std; int dp[2][610][610], num[610][610], N; int max4( int a, int b, int c, int d ){ return max( max( a, b ), max( c, d
2014-05-14 12:32:06 459
原创 hdu 2138 判断素数(Miller-Rabin算法)
太快了。。。。当模版了。。。。 AC代码如下: #include #include #include #include using namespace std; __int64 qpow(int a,int b,int r)//快速幂 { __int64 ans=1,buff=a; while(b) { if(b&1)ans=(ans*buff
2014-05-13 22:15:18 750
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人