题意: 思路:这道题并没有官方题解 没有羊驼在所有三元组中出现就是NO 现在考虑不少于1只的情况 删去其中一只,我们得到了两组点和一些边 我们只要判断这是否为一张二分图,使用暴力染色的方法就有60分了 #include<cstdio> #include<algorithm> #define N 10010 #define M 50010 using namespace std; int T,n,m,edgenum,u,v,ok,isok,root; int f[N],vet[M],…
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1143 题意概括 给出一个有向图.求最小链覆盖. 题解 首先说两个概念: 链:一条链是一些点的集合,链上任意两个点x, y,满足要么 x 能到达 y ,要么 y 能到达 x . 反链:一条反链是一些点的集合,链上任意两个点x, y,满足 x 不能到达 y,且 y 也不能到达 x. 这题就是求最长反链长度. 有两个定理: 最长反链长度 = 最小链覆盖 最长链长度 = 最小反链覆盖 这题明显可以使用第…
2017.4.1: NOIP+Round1综合成绩出来,标准分离续命线差了80分,果然还是联赛坑挖太大了…… 不管怎么说能续命的话还是要试一下的…… 发毒誓:Round2前不打手游,不看NGA,不看星际,不看NBA…… 能翘的课全翘…… 学考选考看天……哪个脑残想出来的JB制度 其实就算到续命线,还不是要看板的外交功力和MG,Gold_7的成绩么…… 很快的,马上就退役了 Soon As I Get Home…
Description 在遥远的东方,有一个神秘的民族,自称Y族.他们世代居住在 水面上,奉龙王为神.每逢重大庆典, Y族都会在水面上举办盛大的祭祀活动.我们可以把Y族居住地水系看成一个由岔口和河道组成的网络.每条河道连接着两个岔口,并且水在河道内按照一个固定的 方向流动.显然,水系中不会有环流(下图描述一个环流的例子). 由于人数众多的原因,Y族的祭祀活动会在多个岔口上同时举行.出于对龙王的尊重,这些祭祀地点的选择必须非常慎重.准确地说,Y族人认为,如果水流 可以从一个祭祀点流到另外一个祭祀点…
题意: 思路:分块 使用树状数组维护sum[i]的前缀和 使用主席树维护root到u的路径上点的编号出现的个数 每次操作如果是修改就加入队列 如果是询问,考虑块内操作对询问的影响,每次在x点加上y会使x到root的点sum都加上y 每根号n次操作就暴力重构一次,清空队列并求出新的sum[i]的前缀和 ..]of record l,r:longint; s:int64; end; sum,bit:..]of int64; stk:..,..]of longint; head,vet,next,fa…
题意: 思路: 根据欧拉定理,a^(phi(n)-1)为a mod n的逆元 ..]of longint; s,ans,x,mo,k,phi,tmp:int64; i,m,n,j:longint; function mult(x,y:int64):int64; var tmp:int64; begin tmp:=x; mult:=; do begin = then mult:=mult*tmp mod mo; tmp:=tmp*tmp mod mo; y:=y>>; end; end; fun…
题意: 思路: 预处理出b[i]代表i位置之前比a[i]小的数的个数 以每个数为结尾的组数是线段树中(1,a[i]-1) 对于a[i]换到最后,相当于线段树中(a[i]+1,n)-- 交换后b[i]又变成了a[i]-1因为换到最后不需要考虑位置只需要考虑大小关系 ..]of record a,s,l:int64; end; a,b:..]of longint; n,m,i:longint; ans,s:int64; procedure pushdown(p:longint); var l,r:l…
题意: 100%的数据:|Ax|,|Ay|,|Bx|,|By| <= 500, 0 <= n,Ex,Ey <= 500 思路:听说这是一道原题 只能往右或者下走一步且有禁止点的简化版是CF559C 然而这道题并没有这么简单 以下开始转化: 转化后套用弱化版做法即可 ; ..]of int64; dp:..]of int64; x,y:..]of longint; ex,ey,sx,sy,ax,ay,bx,by:int64; n,n1,i,j:longint; u,v,eps:double…
题意:给定一个一边点数为n,另一边点数为m,共有n*m条边的带标号完全二分图K_{n,m},求其生成树个数 mod p. 100%的数据:1 <= n,m,p <= 10^18 思路:这是一道结论(打表找规律)+教你快速幂和乘法 题 结论为:S=n^(m-1)*m^(n-1) 需要注意的是n,m过大,普通的快速幂与乘法会炸 所以需要手写乘法,类似于快速幂的形式将其转换为加法 2017.2.28:%%%CC的证明: 设两边为X侧,Y侧 考虑它们在Prufer序列中出现的位置与取值种数 生成树的最…
喜闻乐见(爆蛋滚粗)的ZJOI模拟赛终于开始了 可以又一次感受被屠的快感 DAY1: T1:线段树打错-70 正解分块听卡常还要调块的大小 T2:数学弱爆 是道结论题 T3:暴力分滚粗 DAY2: T1:羊驼过河…… T2:数论题 当模数为合数时如何求C(n,m) T3:CDQ分治?看起来像三维偏序 DAY3: 我是谁?我在那里?我要干什么? DAY4: 我是谁?我在那里?我要干什么? DAY5: T1:杜教的题 一年半以前做过然而现在还是不会 T2:字符串题 P党暴力N^2过不了 少了30分…