上一页 1 ··· 41 42 43 44 45 46 47 48 49 ··· 56 下一页
摘要: codevs 1795 金字塔 2这个题比完全背包多了一个总数的限制,即一定要选(m+n)个,题中说总重量不超过n,所以至少选择m个重量为0的,然后初始化的时候,都填成重量为0的,然后再一个个地把它们拿出来,做完全背包。 阅读全文
posted @ 2017-10-13 08:44 WeiAR 阅读(106) 评论(0) 推荐(0) 编辑
摘要: P2296 寻找道路路径上的所有点的出边所指向的点都直接或间接与终点连通。题中的这个条件很难受,操作是,反向建边,然后从终点bfs,然后把能走到的点设成true。然后把false的点按反向边扩展一层,把扩展到的点卡掉。然后正向bfs就好了,小心“图G 中可能存在重边和自环,题目保证终点没有出边。”; 阅读全文
posted @ 2017-10-13 08:32 WeiAR 阅读(169) 评论(0) 推荐(0) 编辑
摘要: [USACO16JAN]子共七Subsequences Summing to Sevensa[i]表示前缀和如果a[i]%7==t&&a[j]%7==t那么a[j]-a[i-1]一定是7的整数倍,这样就o(n)扫一遍,不断更新答案就可以了。 阅读全文
posted @ 2017-10-12 21:16 WeiAR 阅读(183) 评论(0) 推荐(0) 编辑
摘要: P3397 地毯 前缀和最开始接触是在日照夏令营,lca的一段子树中加或减一个数然后打标记,求前缀和000+10000-100000000111110000二维也一样,比如对子矩阵都加10+100000-100+100000-100+100000-100+100000-100+100000-10然后 阅读全文
posted @ 2017-10-12 19:36 WeiAR 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 关于调用&&传址//数组int d1[];Function(int *d){} int main(){Function(d1);} //指针int *p;Function(int *q){} int main(){Function(p);}//结构体数组struct node{}*e1[1000]; 阅读全文
posted @ 2017-10-10 19:13 WeiAR 阅读(157) 评论(0) 推荐(0) 编辑
摘要: P1821 [USACO07FEB]银牛派对Silver Cow Party我当时看着邻接矩阵存的下,就想来一发floyed,然后发现了很多问题。floyed的判定条件非常严格,否则会挂。初始化为inf if(d[i][k]+d[k][j]<d[i][j]&&d[i][k]!=inf&&d[k][j 阅读全文
posted @ 2017-10-10 19:02 WeiAR 阅读(178) 评论(0) 推荐(0) 编辑
摘要: P3905 道路重建我一开始想错了,我的是类似kruskal,把毁坏的边从小到大加,并且判断联通性。但是这有一个问题,你可能会多加,就是这条边没用,但是它比较小,你也加上了。居然还有10分,数据也是水水的。。。 正解是把未坏的边的权值设成0,坏的边的值不变,跑spfa即可。 阅读全文
posted @ 2017-10-10 15:34 WeiAR 阅读(284) 评论(0) 推荐(0) 编辑
摘要: #define len 1000+10len*4<==>1000+40注意理解等量代换 阅读全文
posted @ 2017-10-10 09:10 WeiAR 阅读(132) 评论(0) 推荐(0) 编辑
摘要: P3512 [POI2010]PIL-Pilots我一开始打的O(n^2)(最坏情况)的算法.枚举区间长度。60分 正解不用枚举区间长度,动态维护+更新答案,O(n). 阅读全文
posted @ 2017-10-10 08:35 WeiAR 阅读(255) 评论(0) 推荐(0) 编辑
摘要: P2398 GCD SUM一开始是憨打表,后来发现打多了,超过代码长度了。缩小之后是30分,和暴力一样。正解是,用f[k]表示gcd为k的一共有多少对。ans=sigma k(1->n) k*f[k].g[k]表示f[k]+f[2*k]+...+f[(n/k)*k];so f[k]=g[k]-(f[ 阅读全文
posted @ 2017-10-09 16:14 WeiAR 阅读(155) 评论(0) 推荐(0) 编辑
上一页 1 ··· 41 42 43 44 45 46 47 48 49 ··· 56 下一页