上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 68 下一页
摘要: 思路: 设$sum[i]表示i的子树中a[i]的和$ $b[1]=\Sigma a[i]*dis[i] = \Sigma _{i=2} ^n sum[i]$ $b[x]-b[fa[x]]=sum[1]-2*sum[x]$ $sum[1]={\Sigma_{i=2}^n (b[x]-b[fa[x]]) 阅读全文
posted @ 2017-04-05 08:57 SiriusRen 阅读(204) 评论(0) 推荐(0) 编辑
摘要: //By SiriusRen #include #include using namespace std; const int N=555; struct Node{int a,p;}node[N]; bool operator<(Node a,Node b){return a.p<b.p;} char pr[]={2,3,5,7,11,13,17,19}; int n,p,f[N][N... 阅读全文
posted @ 2017-04-01 08:52 SiriusRen 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 思路: f[i][j]表示i位数乘积为j的方案数 j的取值最多5000多种,那就开个map存一下好了 阅读全文
posted @ 2017-04-01 08:34 SiriusRen 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 思路: 水题 竟然不会做 尴尬 比b大的数=1 比b小的数=-1 找到b 统计一下左边比b大x的数有多少 扫右边的时候就查左边的表 就可以了 阅读全文
posted @ 2017-04-01 08:25 SiriusRen 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 思路: 二分+哈希 Manacher改一下条件 0只能匹配1 1只能匹配0 #匹配# (长度从0开始匹配 这样就相当于只能从#开始走了 也就是长度为偶数) 阅读全文
posted @ 2017-04-01 08:20 SiriusRen 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 思路: 对所有序列差分一下 公共串的长度+1就是答案了 二分 扫一遍height即可,.. 阅读全文
posted @ 2017-04-01 08:18 SiriusRen 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 思路: 直接上A* 阅读全文
posted @ 2017-04-01 08:16 SiriusRen 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 思路: 我们可以算不合法的 如果三个点都在同一侧 就不合法.. 用总方案数减掉就可以了 (有神奇的实现方法...) 阅读全文
posted @ 2017-04-01 08:13 SiriusRen 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 思路: 满足二分性质... 二分一下 就完了 阅读全文
posted @ 2017-04-01 08:11 SiriusRen 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 思路: f[i][j][S]表示从i到j压成S状态 j-m是k-1的倍数 $f[i][j][S<<1]=max(f[i][j][S<<1],f[i][m-1][S]+f[m][j][0]),$$f[i][j][S<<1|1]=max(f[i][j][S<<1|1],f[i][m-1][S]+f[m] 阅读全文
posted @ 2017-04-01 08:10 SiriusRen 阅读(221) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 68 下一页