上一页 1 2 3 4 5 6 7 ··· 54 下一页
摘要: 数位dp f[i][st][w1][w2]表示到第i位,这一位a,b,c,d的数是否分别要小于ABCD的状态st,w1表示前一位a+c-b-d为几,w2表示a+d-b-c为几 由于前一位差大于等于2后,后面能始终确保a+c>b+d,所以w1, w2状态只有-1,0,1,2四种 注意这时如果按十进制诸 阅读全文
posted @ 2017-02-14 22:16 acphile 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 真是怀疑当初合肥赛区怎么考这么差的…… 首先根据辗转相除法可知f(i,j)=f(i+j*k,j) 于是我们可以先于处理出f(i,j) (j<=666,i<=j),当确定i,j时c也确定 (x=gcd(i,j))可见,当确定了i,j,k后,后面p的求和就是一个等差数列的求和 c是logm级的所以总复杂 阅读全文
posted @ 2017-02-12 18:12 acphile 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 补多校系列,具体见多校题解http://www.cnblogs.com/duoxiao/p/5777700.html 值得注意的是如果当前i初始向左,前i个骑士最终只有1个向右 对于f[i][1]状态的转移为f[i][1]=∑ f[i-1][k]*0.5^(k-1) 因为我们只要比k-1场就可以了, 阅读全文
posted @ 2017-02-12 17:52 acphile 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 题意有点绕,不过读懂了之后并不难 以Si结尾容易想到ac自动机,建好ac自动机并将fail指针反向即可得到一棵树 那么操作1就是将若干个子树的并中的节点全部权值+1 操作2就是将求若干个节点到根的路径的并中的节点的权值和 操作1不难用dfs序将子树并转化为区间并然后线段树区间加 操作2呢,我们进行树 阅读全文
posted @ 2017-02-08 15:47 acphile 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 这道题的难点在于思考dp表示什么 首先可以令ans[len]表示白色子矩阵边长最大值大于等于len的方案数则ans[len]-ans[len+1]就是beautifulness为len的方案数 白色子矩阵边长最大值大于等于len的方案数=总方案-白色子矩阵边长最大值小于len的方案数 经过这样的转化 阅读全文
posted @ 2017-02-08 15:41 acphile 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 好题,首先观察可得w[i][j]选择只有可能两种,一种比阀值大,一种比阀值小 比阀值大就一定选满足条件最大的w,比阀值小同样一定选满足条件最大的w 那么一个最小割模型就呼之欲出了,注意w可能是负数那么就集体+1025; 我们把这两种情况分辨记作w[i][mx[i]],w[i][mi[i]] 下面是建 阅读全文
posted @ 2017-02-08 15:22 acphile 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 补集转化,求不符合条件的三元组数目 但是怎么统计呢,这里我没想到 【如果三个数a, b, c不符合条件,那么一定有一对是互质的,有一对是不互质的。不妨令a, b互质,b, c不互质。于是我们可以枚举b来统计答案。在除了b自己的所有数中,要么与b互质,要么与b不互质。假设n个数中有k个与b不互质的数, 阅读全文
posted @ 2017-02-08 15:03 acphile 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 官方题解是一个n2logn的dp做法 不过有一个简单易想的费用流做法 对每个小精灵,连边(A,i,1,pi) (B,i,1,ui) (i,t,1,0) (i,t,1,-pi*ui) 最后连边(s,A,a,0) (s,B,b,0) 跑最大费用最大流即可,注意精度误差 1 #include<bits/s 阅读全文
posted @ 2017-02-04 14:57 acphile 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 这题码量好大…… 首先思考如何构造,不难找到一下两个条件 1. 在长度为i的环上的点一定是i的倍数个 2. 到达长度i的环的点集距离一定是连续的 第一个条件是很好搞的,关键是第二个条件。 因为存在着x ?这样的点,我们不知道到达环长度为i的点precycle能会连续延伸 但是观察可知,我们只要找出x 阅读全文
posted @ 2017-02-03 23:18 acphile 阅读(326) 评论(0) 推荐(0) 编辑
摘要: codeforces 739A 答案一定是所有区间中最小区间长度,构造的话就把所有区间都当成那个长度即可 1 #include<bits/stdc++.h> 2 3 using namespace std; 4 int b[100010]; 5 struct node{int x,y;} a[100 阅读全文
posted @ 2017-02-03 22:34 acphile 阅读(189) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 54 下一页