上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 38 下一页
摘要: 设$f[i][j]$表示$hp$为$i$,在$j$点的概率,$d[i]$表示$i$的度数,$w[i]$表示经过$i$点要扣掉的血量。对于$j$到$k$这条边,$f[i-w[k]][k]+=\frac{f[i][j]}{d[j]}$。若$w[k]>0$,则直接将贡献加给$f[i-w[k]][k]$,否... 阅读全文
posted @ 2016-01-03 01:52 Claris 阅读(733) 评论(0) 推荐(0) 编辑
摘要: 过去的2015这一年,感觉非常漫长,发生了好多好多的事情。1月,翻译某道POI的时候被lavendir发现不是BZOJ权限用户,结果他居然把权限免费送给了我!打开了新世界的大门。2月,寒假写完作业无聊着没事干,随便切了几道水题,被家长发现,“离高考只有几个月了,要安心学习”,于是家长就开始监控我的提... 阅读全文
posted @ 2016-01-02 03:03 Claris 阅读(6115) 评论(8) 推荐(15) 编辑
摘要: 显然当且仅当$\gcd(i,j)=1$时才对答案有贡献,化简得\[\begin{eqnarray*}ans&=&\sum_{i=1}^n\sum_{j=1}^i\mu(ij)[\gcd(i,j)=1]\\ &=&\sum_{i=1}^n\sum_{j=1}^i\mu(ij)\sum_{d|i,d... 阅读全文
posted @ 2015-12-21 16:01 Claris 阅读(973) 评论(0) 推荐(0) 编辑
摘要: 求出所有交点后从左往右扫描线,用每段的中位线去截所有三角形,算出长度并后乘以该段长度即可,时间复杂度$O(n^3\log n)$。#include#include#includeusing namespace std;const int N=310;const double eps=1e-9,inf... 阅读全文
posted @ 2015-12-21 01:32 Claris 阅读(679) 评论(2) 推荐(0) 编辑
摘要: 因为欧拉函数是非完全积性函数,所以可以考虑对每个数进行分解质因数,将每个质数的解乘起来即可。对于一个质数$p$,设它在各个数中分别出现了$b_1,b_2,...b_n$次,那么由生成函数和欧拉函数的性质得,它对答案的贡献为:\[(\prod_{i=1}^n\frac{p^{b_i+1}-1}{p-1... 阅读全文
posted @ 2015-12-20 01:25 Claris 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 把询问看成二维点,建立kd-tree,每个点维护一个计数器。从1到n依次加入每个数,每次加入一个数时,对于所有包含它的询问,计数器加一,对于其它询问,计数器置0。那么每个询问的答案就是计数器的历史最大值,可以通过打标记实现。时间复杂度$O(n\sqrt{m})$。#include#includeco... 阅读全文
posted @ 2015-12-15 18:32 Claris 阅读(1640) 评论(12) 推荐(2) 编辑
摘要: 一个直观的想法是把每条边拆成两条有向边,同时每条有向边是新图中的一个点。对于两条边a->b与b->c,两点之间连有向边,费用为两条边费用的最大值。然后新建源点S与汇点T,由S向所有起点为1的边连边,T接受所有终点为n的边,那么答案就是S到T的最短路。这样子的边数为$O(m^2)$,不能承受。考虑枚举... 阅读全文
posted @ 2015-12-15 00:07 Claris 阅读(1536) 评论(0) 推荐(1) 编辑
摘要: 对操作建立线段树,每个节点维护一个有序的操作表,表示用$[l,r]$的操作在每段区间上的作用效果。对于一个线段树节点,合并左右儿子信息只在该区间刚刚被填满时进行,利用归并排序,时间复杂度为$O(n\log n)$。查询的时候在线段树上分裂成$O(\log n)$个点,在每个点的表里进行二分查找即可,... 阅读全文
posted @ 2015-12-11 02:29 Claris 阅读(508) 评论(0) 推荐(0) 编辑
摘要: $\gcd(ab,k)=\gcd(\gcd(a,k)\times \gcd(b,k),k)$设$f[i][j]$表示前$i$行,与$k$的$\gcd$为$j$的方案数,$h[i]$表示当前行选一个或两个,乘积与$k$的$\gcd$为$i$的方案数,然后DP即可。时间复杂度$O(N(M+K))$。#i... 阅读全文
posted @ 2015-12-10 00:02 Claris 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 按时间一步一步模拟。每一次,首先将所有没有水但是可以被灌到水的管子标记为有水,然后求出有水的管子里水面高度的最小值。如果$a$号管有水且最小值为$b$,那么说明此时蜘蛛碰到了水。如果有管子溢出且最小值就是它,那么说明此时无论如何水面都不会再上涨,即无解。然后往所有高度等于最小值的管子里灌上一高度的水... 阅读全文
posted @ 2015-12-08 21:12 Claris 阅读(634) 评论(0) 推荐(0) 编辑
摘要: 设$f[i][j][k]$为到达$(i,j)$,用时为$\frac{k}{5lcm}$小时的最低耗油量,然后DP即可。#includeconst int N=12,M=210005;const double inf=1e15;int n,L,lcm,lim,i,j,k,p,x,y,a[N],b[N]... 阅读全文
posted @ 2015-12-08 16:19 Claris 阅读(622) 评论(0) 推荐(0) 编辑
摘要: 平面图求域之后增加超级根,然后建图求最小树形图即可。#include#include#include#includeusing namespace std;typedef long long ll;const int N=3010,M=10010,inf=0x7fffffff;int n,m,q,c... 阅读全文
posted @ 2015-12-08 00:56 Claris 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 首先要将这个图连通,方法是通过扫描线+set求出每个连通块最高的点上方的第一条边,然后向交点连边。然后把边拆成两条双向边,每次找到一条没走过的边,找到极角排序后它的反向边的后继,直到回到这条边。根据叉积可以求出面积,如果面积非负,那么就说明找到了一个封闭区域。然后再进行一次扫描线,找到一个点上方最低... 阅读全文
posted @ 2015-12-07 12:13 Claris 阅读(777) 评论(0) 推荐(2) 编辑
摘要: 首先不考虑翻转,对于两个等长的序列,如果任意两条相邻边的边长比以及夹角都相等,那么就匹配。为了避免实数运算,边长比可以上下平方,然后约分。夹角可以用叉积和点积的最简比值来表示,注意上下符号都要保留。然后将这些信息离散化,转化成数字串匹配问题,建出用Hash表存边的AC自动机后即可解决。对于翻转,可以... 阅读全文
posted @ 2015-12-04 14:03 Claris 阅读(611) 评论(0) 推荐(0) 编辑
摘要: 第一问:对B串建立SAM,暴力枚举A的每个子串,在SAM上走,若失配则可行。第二问:设g[i][j]表示B串的第i个字符之后最早出现的字符j的位置,暴力枚举A的每个子串,按照g贪心地走,若失配则可行。第三问:对B串建立SAM,设f[i][j]表示考虑了A的前i个字符,当前在SAM上的状态为j的最小长... 阅读全文
posted @ 2015-12-02 01:44 Claris 阅读(643) 评论(0) 推荐(1) 编辑
摘要: 首先用并查集将等号缩点,然后拓扑排序判断有没有环,有环则无解,否则通过增加超级源点$0$,可以得到一棵树。设$f[x][y]$表示$x$子树里有$y$种不同的数字的方案数,由底向上DP。对于当前点$x$,依次遍历它的所有儿子$y$,设以$x$为根的子树里之前已经有了$s[x]$个点,$y$子树里有$... 阅读全文
posted @ 2015-12-01 23:31 Claris 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 假设当前询问点为$(A,B)$,那么它在一个以$(x,y)$为圆心的圆里需要满足:$(x-A)^2+(y-B)^2\leq x^2+y^2$$2Ax+2By\geq A^2+B^2$等价于询问所有圆心与$(2A,2B)$的点积的最小值是否小于$A^2+B^2$。考虑将修改操作二进制分组,分成$O(\... 阅读全文
posted @ 2015-11-30 20:33 Claris 阅读(580) 评论(3) 推荐(0) 编辑
摘要: 首先特判全部都是A或者全部都是B或者$n=1$的情况。然后把矩阵四周都填充上A,枚举一个块,分以下情况讨论:1.在它四周选两个块扩展,此时平方暴力枚举即可。2.在它四周选定一个方向扩展两步。3.选择一个角落,斜着扩展一步,再扩展另一步。时间复杂度$O(n^2)$。#include#define re... 阅读全文
posted @ 2015-11-30 13:36 Claris 阅读(597) 评论(0) 推荐(0) 编辑
摘要: 将石子从小到大排序,然后DP。设$f[i][j][k]$表示考虑了前$i$堆的石子,当前扔掉的堆数模$d$为$j$,没有扔掉的石子的异或和为$k$的方案数。因为石子排过序,所以转移的复杂度为$O(md)$。对于空间的问题,注意到$f[i][j][k]$和$f[i][j][k\ xor\ a[i]]$... 阅读全文
posted @ 2015-11-30 13:35 Claris 阅读(1138) 评论(0) 推荐(0) 编辑
摘要: 设$f[x][j]$表示$x$点不放无线,它的儿子里放了$j$个无线,且对$x$的父亲不作要求时的最小代价。$g[x][j]$表示$x$点不放无线,要求$x$的父亲至少放$j$个无线时的最小代价。$h[x][j]$表示$x$点放了$j$个无线时的最小代价。然后从底向上树形DP即可,时间复杂度$O(n... 阅读全文
posted @ 2015-11-30 13:33 Claris 阅读(924) 评论(3) 推荐(0) 编辑
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 38 下一页