10 2015 档案

摘要:dp(x)表示A机器用了x分钟, B机器的最少用时, 然后转移和背包类似-----------------------------------------------------------------------------#include#include#includeusing namespa... 阅读全文
posted @ 2015-10-28 11:02 JSZX11556 阅读(292) 评论(0) 推荐(0) 编辑
摘要:15 #include#include#includeusing namespace std;const int maxn = 50009;const int n = 16;const int p[n] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 4... 阅读全文
posted @ 2015-10-27 19:51 JSZX11556 阅读(335) 评论(0) 推荐(0) 编辑
摘要:求(0,0)->(n,m)且在直线y=x下方(可以在y=x上)的方案数...同http://www.cnblogs.com/JSZX11556/p/4908648.html----------------------------------------------------------------... 阅读全文
posted @ 2015-10-25 16:00 JSZX11556 阅读(380) 评论(0) 推荐(0) 编辑
摘要:(0,0)->(n,m)方案数为C(n,n+m), 然后减去不合法的方案. 作(n,m)关于y=x+1的对称点(m-1,n+1), 则(0,0)->(m-1,n+1)的任意一条路径都对应(0,0)->(n,m)的一条不合法路径(y>x). 所以答案就是C(n,n+m) - C(n+1,n+m).高精... 阅读全文
posted @ 2015-10-25 13:35 JSZX11556 阅读(924) 评论(0) 推荐(0) 编辑
摘要:day 11.生活大爆炸版石头剪刀布(rps)直接按照题意模拟即可#include#include#includeusing namespace std;const int maxn = 209;const int Mark[5][5] = {{0, 0, 1, 1, 0}, {1, 0, 0, 1... 阅读全文
posted @ 2015-10-24 21:28 JSZX11556 阅读(3532) 评论(0) 推荐(1) 编辑
摘要:求个LCS, 只是有了限制, 多加一维表示匹配到z串的第几个, 然后用滚动数组----------------------------------------------------------------------------#include#include#includeusing names... 阅读全文
posted @ 2015-10-23 14:25 JSZX11556 阅读(416) 评论(0) 推荐(0) 编辑
摘要:hash一下, 把原矩阵所有A*B的子矩阵的hash值存在set里面, 然后对于每个询问就求出hash值, 在set中查找.------------------------------------------------------------------------#include#include... 阅读全文
posted @ 2015-10-22 22:05 JSZX11556 阅读(414) 评论(0) 推荐(1) 编辑
摘要:dp(i)表示二进制的第i位为1时的最大值, 然后从左到右dp------------------------------------------------------------------------#include#include#includeusing namespace std;#de... 阅读全文
posted @ 2015-10-22 18:11 JSZX11556 阅读(186) 评论(2) 推荐(0) 编辑
摘要:二分答案..然后从头到尾推一下, 看最后一个能不能取0个和第一个人相同的勋章-----------------------------------------------------------------------#include#include#includeusing namespace s... 阅读全文
posted @ 2015-10-21 14:41 JSZX11556 阅读(316) 评论(0) 推荐(0) 编辑
摘要:黑白染成二分图, 然后不能同时选的就连边, 最大匹配数为m, t为不能放的数目, 则题目所求最大点独立集为 n*n-m-t-------------------------------------------------------------------------#include#include... 阅读全文
posted @ 2015-10-21 10:10 JSZX11556 阅读(327) 评论(0) 推荐(0) 编辑
摘要:tarjan找割点..不是割点答案就是(N-1)*2, 是割点的话就在tarjan的时候顺便统计一下-------------------------------------------------------------------------------#include#include#incl... 阅读全文
posted @ 2015-10-20 20:50 JSZX11556 阅读(230) 评论(0) 推荐(0) 编辑
摘要:二分答案, 然后用哈希去判断...-------------------------------------------------------------------------#include#include#include#includeusing namespace std;typedef ... 阅读全文
posted @ 2015-10-20 19:15 JSZX11556 阅读(260) 评论(0) 推荐(0) 编辑
摘要:WA了一版...切点确定的话, 顺序是不会影响结果的..所以可以dpdp(i, k) = max(dp(j, k-1) + (sumn - sumi) * (sumi - sumj)) 然后斜率优化就可以了...--------------------------------------------... 阅读全文
posted @ 2015-10-20 13:32 JSZX11556 阅读(336) 评论(0) 推荐(0) 编辑
摘要:tarjan求边双连通分量, 然后就是一棵树了, 可以各种乱搞...-------------------------------------------------------------------------------#include#include#includeusing namespa... 阅读全文
posted @ 2015-10-18 10:48 JSZX11556 阅读(217) 评论(0) 推荐(0) 编辑
摘要:这是一个森林中, 每棵树上都有一个环...每棵树单独处理, 找出环上任意一条边断开, 限制一下这条边两端点的情况, 然后就可以树dp了..------------------------------------------------------------------------#include#... 阅读全文
posted @ 2015-10-17 22:29 JSZX11556 阅读(271) 评论(0) 推荐(0) 编辑
摘要:按鲜嫩程度排个序, 从大到小处理, 用平衡树维护价值----------------------------------------------------------------------#includeusing namespace std;typedef long long ll;const... 阅读全文
posted @ 2015-10-15 22:01 JSZX11556 阅读(230) 评论(0) 推荐(0) 编辑
摘要:二分答案就可以了....-----------------------------------------------------------------------#include#include#include#include#includeusing namespace std;typedef... 阅读全文
posted @ 2015-10-14 21:31 JSZX11556 阅读(253) 评论(0) 推荐(0) 编辑
摘要:dp(x)表示前x个的最大值, Max(x)表示含有因数x的dp最大值. 然后对第x个数a[x], 分解质因数然后dp(x) = max{Max(t)} + 1, t是x的因数且t>=L---------------------------------------------------------... 阅读全文
posted @ 2015-10-14 21:23 JSZX11556 阅读(273) 评论(0) 推荐(0) 编辑
摘要:WA了好多次...先tarjan缩点, 然后题意就是求DAG上的一条最长链. dp(u) = max{dp(v)} + totu, edge(u,v)存在. totu是scc(u)的结点数. 其实就是记忆化搜一下...重边就用set判一下-------------------------------... 阅读全文
posted @ 2015-10-13 19:19 JSZX11556 阅读(256) 评论(0) 推荐(0) 编辑
摘要:先按完全背包做一次dp, dp(x)表示x元的东西有多少种方案, 然后再容斥一下.------------------------------------------------------------------------#include#include#includeusing namespa... 阅读全文
posted @ 2015-10-12 18:40 JSZX11556 阅读(227) 评论(0) 推荐(0) 编辑
摘要:NOI的水题...直接一遍DFS即可-------------------------------------------------------------------------#include#include#include#include#include#includeusing names... 阅读全文
posted @ 2015-10-12 14:35 JSZX11556 阅读(202) 评论(0) 推荐(0) 编辑
摘要:枚举树上的每个结点做管理者, 贪心地取其子树中薪水较低的, 算出这个结点为管理者的满意度, 更新答案. 用平衡树+启发式合并, 时间复杂度为O(N log²N)----------------------------------------------------------------------... 阅读全文
posted @ 2015-10-12 14:07 JSZX11556 阅读(332) 评论(0) 推荐(0) 编辑
摘要:一不小心速度就成了#1....这道题显然是求最长反链, 最长反链=最小链覆盖.最小链覆盖就是先做一次floyd传递闭包, 再求最小路径覆盖. 最小路径覆盖=N - 二分图最大匹配. 所以把所有点拆成x,y两个, 然后存在edge(u,v)就连ux->vy. 然后跑匈牙利即可.------------... 阅读全文
posted @ 2015-10-03 15:31 JSZX11556 阅读(490) 评论(1) 推荐(0) 编辑
摘要:先tarjan求出割点..割点把图分成了几个双连通分量..只需dfs找出即可. 然后一个bcc有>2个割点, 那么这个bcc就不用建了, 因为一定可以走到其他救援出口. 只有一个割点的bcc就要建, bcc内任何一个非割点的结点都可以建. dfs的时候记一下bcc的结点数, 然后乘法原理算出方案数.... 阅读全文
posted @ 2015-10-01 23:26 JSZX11556 阅读(283) 评论(0) 推荐(0) 编辑
摘要:先判无解把整个棋盘都放上士兵, 只需求最多可以拿走多少个士兵即可.每一行看做一个点r(i), 每一列看做一个点c(i)S->r(i), c(i)->T 连边, 容量为可以拿走的最大士兵数(i,j)不是障碍格:r(i)->c(j),容量+oo最后答案为n*m-k-maxflow------------... 阅读全文
posted @ 2015-10-01 19:41 JSZX11556 阅读(288) 评论(0) 推荐(0) 编辑
摘要:坑爹...数据是错的..详见discuss http://www.lydsy.com/JudgeOnline/wttl/wttl.php?pid=1060先求根到叶子的距离最大值x, 然后把所有叶子到根的距离变成x. 要使增加的最少, 就要利用不同叶子到根的路径的重复部分...然后各种乱搞就可以了.... 阅读全文
posted @ 2015-10-01 18:24 JSZX11556 阅读(268) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示