自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

binarycopycode

人百我一,人万我十,舒服了

  • 博客(33)
  • 收藏
  • 关注

原创 codeforces1294F Three Paths on a Tree

https://codeforces.com/problemset/problem/1294/F对于3个点之间的路径并集,我们可以在它的路径并集上找到一个点,使得这个点到这三个点之间的路径互不相交,那么这个问题就转化到了从某个点出发3条不相交的路径最长的问题,那么这就是个经典树形DP了,每个点维护最长路,次长路,次次长路注意一些细节,最后我们把中心点找出来后,它的每个子树只能找离他最远的一...

2020-01-23 11:58:08 285

原创 codeforces1294E Obtain a Permutation

https://codeforces.com/problemset/problem/1294/E只能选择一列向上shift,那么我们只要一列一列的算出这一列的变化最小值就行了。通过预处理出每一列中有哪些数字,再通过给出的这一列的数字,我们可以算出开头在某一个位置时,有多少位置上的数字是可以不会变的,就可以算出通过移动到这个开头位置,还需要变化多少个数字使得达到要求。#include&...

2020-01-23 11:51:39 196

原创 bzoj1562: [NOI2009]变换序列

https://www.lydsy.com/JudgeOnline/problem.php?id=1562既然要字典序最小,我们知道匈牙利算法是一找到增广路就迅速转边的。所以我们每个点的出边需要从大到小,且需要从后往前跑匈牙利,因为前面优先选择最小的边,已找到就迅速转边,不管后面之前已经匹配过的点,怎么匹配。#include<bits/stdc++.h>using na...

2020-01-18 00:04:05 124

原创 bzoj 3140: [Hnoi2013]消毒 洛谷P3231

https://www.luogu.com.cn/problem/P3231辣鸡bzoj卡常,洛谷过了首先由于取min值的花费,相当于就是直接选择某一维度为1的去消毒了。n*m*h<=5000,必有一个很小,那么我们对最小的一维进行2进制枚举,把这一维的哪些部分直接一个平面全部删掉,然后这一维就不管了,剩下的两维就是经典的棋盘问题的二分图匹配方法了,只能删除一整行或者一整列,最少...

2020-01-17 23:16:05 126

原创 BZOJ 4443: [Scoi2015]小凸玩矩阵

https://www.lydsy.com/JudgeOnline/problem.php?id=4443看到第K大的最小,想到二分那么二分一个第K大值mid,小于等于mid的元素全都连边,然后求二分图最大匹配,如果匹配的超过n-k+1,那么就是可行的卧槽我今天突然发现vis数组是m对于右边的点,所以长度应该是m,而不是n。。。。WA了好久#include<bits/std...

2020-01-17 21:18:05 154

原创 bzoj1202 [HNOI2005]狡猾的商人

https://www.lydsy.com/JudgeOnline/problem.php?id=1202带权并查集维护前缀和s,t,v相当于sum[t]-sum[s-1]=v,那么对于一个连通块中的,val[根节点]=0,val[其他点]等于他们到根节点的距离,用带权并查集维护这个到根节点的距离就可以了,如果不在一个连通块中,设x=find(s-1),y=find(t),由于sum[t]...

2020-01-17 11:18:09 102

原创 bzoj 1854: [Scoi2010]游戏

https://www.lydsy.com/JudgeOnline/problem.php?id=1854匈牙利里面忘记写return false了,结果洛谷全部AC,bzojWA。。。洛谷数据也太水了,估计是没有返回false的情况就对于每一个武器,两个值a,b,那么要取a值时可以用该武器,取b值时可以用该武器最后我们用时间戳来代替vis数组就好了由于这个只有2条边,所以虽然最大...

2020-01-16 22:20:53 143

原创 bzoj1059: [ZJOI2007]矩阵游戏

https://www.lydsy.com/JudgeOnline/problem.php?id=1059水题想一年,图论太菜了一个很显然的结论,如果某一行或者某一列为没有黑色的话,怎么交换,它都不可能有黑色。那么其实问题就转化为了每一行里面选择一列作为这一行的占用对角线的黑色棋子。比如a[1][2] ,a[1][4]都是黑的,那么2,4列放到a[1][1]都是可以的,因为任意交换...

2020-01-16 21:14:30 132

原创 bzoj1433 [ZJOI2009]假期的宿舍

https://www.lydsy.com/JudgeOnline/problem.php?id=1433这题题意有点绕。。。要注意一些理解1.在校生才有床2.非在校生都要睡一张床3.在矩阵中自己不认识自己,但是能睡自己的床,也能睡自己认识的人的床。那么就可以建图了,看所有要睡床的人能不能都匹配到就行了#include<bits/stdc++.h>using...

2020-01-16 19:32:20 112

原创 bzoj2118 墨墨的等式 同余最短路

https://www.lydsy.com/JudgeOnline/problem.php?id=2118由于Bmi,Bmx太大,背包显然是不行的我们考虑B对于a[1]取余,B=a[1]*x1+b(b=0,1,....a[1]-1)。那么我们只要知道对于每一个b,最小体积是多少时能到达它就行了,之后就可以通过不断加a[1]来得到其他值。那么我们对每一个b,连一条边到(b+a[1])...

2020-01-15 23:54:37 150

原创 2019年湖南省赛G 字典序

省赛血炸,shl一个点分治写了2小时没过样例就tm离谱,我一个dfs找了半天错误找不到,byf重写一遍过了。结果这题没写,数位DP那题没写,太惨了,18一等,19二等,反向训练选手石锤这题我们知道对于每一相邻两行的比较,所有上面>下面的位置一定在某一个上面<下面的位置后面,于是我们建图,设左边m个点为m列元素,右边n-1个点为每一相邻两行,对于上面<下面的,左边连到右边,...

2020-01-15 20:20:06 185

原创 codeforces1288E Messenger Simulator

https://codeforces.com/contest/1288/problem/E莫队做的这题,根号常数慌得一匹,加了一堆常数优化,最后1081ms,怕被hack,最后主席树没冲出来,结果这题没被hack,A,D没了,艹,本来可以上波大分结果变成掉分。下面的代码是没加优化前的,赛后测了一下是1949ms,差了将近一倍。。。。很显然最前面要么是一开始的位置,要么是后面有messa...

2020-01-15 15:38:55 224

原创 codeforces 1288D Minimax Problem

https://codeforces.com/contest/1288/problem/D卧槽这题也FST了,edu round还只看罚时,,做了E也没用啊艹这题看见最小值最大,就肯定往二分上想了,然后只要想到存在s[i] | s[j] = (1<<m)-1,就行了,那么我们先把所有s[i]存入标记数组,再把他们的子集存入标记数组,再枚举每个s[i],看他们的补集有没有被标记就...

2020-01-15 15:28:01 240

原创 codeforces 1288A Deadline

https://codeforces.com/contest/1288/problem/A其实暑假多校的时候才做了一次有个取整,一堆人用二分WA了,因为除法取整的问题,所以并不一定连续。这题虽然是单调的,但是三分的时候有可能恰好跳过极值点。。。,因为是突然性地变化,所以可能要上下都搜索一下。。。卧槽FST A,D两题,本来可以100多分,结果掉分了其实直接在根号d附近枚举,或者从1...

2020-01-15 15:08:27 274

原创 hdu5469 Antonidas 2015上海网络赛

http://acm.hdu.edu.cn/showproblem.php?pid=5469点分治加字符串hash先预处理出要找到的字符串的前缀和后缀的hash值,使用ull自然溢出,幂取131(之前听说字符串hash这样比较好那么我们再点分治的时候,知道从当前rt向下到每个点的深度dis[j],也知道它的hash值a[j],如果刚好和pre[dis[j]]或者suf[slen-dis...

2020-01-15 10:39:52 158

原创 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 A Tree 树分治维护矩阵乘积

https://nanti.jisuanke.com/t/A1267艹,忘记矩阵乘法不支持交换律了,调了一年。我们把询问放到询问路径的端点上,然后在点分治的过程中,看不同子树中有没有同一条询问路径的端点,有的话就匹配成功计算出答案。由于矩阵乘法不支持交换律,所以第i条询问路径的起点u添加i,终点v添加i+q,而且在点分治dfs的过程中,要维护从rt到v的disdw[v],也要维护反向的...

2020-01-14 17:08:34 805

原创 dev-c++ Failed to execute .exe

今天在做题的时候碰到这个问题。。。放到clion里面去编译运行,提示test.exe不是有效的win32程序网上查资料好像是要切换编译器,关闭杀毒软件之类的,我这里没用刚好在做计蒜客上17年网络赛的题,于是交到计蒜客的测试里面去提示内存太大...

2020-01-14 11:42:46 858

原创 CodeChef PRIMEDST Prime Distance On Tree

https://www.codechef.com/problems/PRIMEDST5e4以下的质数有5000多个,nlogn*5000直接没了,所以不能对于每一个点枚举所有质数,即使加了剪枝也不行那么我们想到要计算本身和本身相加的和 的方案数,而且本题的边长都是1,所以质数的范围也与当前分治的子树的点数有关,最大的dep为mxdep,那么寻找的质数就不用超过2*mxdep了,所以可以ff...

2020-01-14 09:31:37 179

原创 hdu6035 Colorful Tree 点分治

http://acm.hdu.edu.cn/showproblem.php?pid=6035对着题面思考了1小时,看题解研究了1小时代码才看懂,菜哭.jpg这题是真的妙啊,好像题解给得是O(n)的树形DP,点分治nlogn的1700ms过了。。。n再大一点就没了。对于点分治,我们需要计算经过rt点所有路径的所有贡献,反过来计算,我们需要计算每一种颜色在经过rt点的路径有多少条首先对...

2020-01-13 20:49:45 202

原创 poj2114 Boatherds

http://poj.org/problem?id=2114把洛谷点分治1复制过来一直WA?然后把二分改成two-pointer 过了?不知道之前的二分哪里写错了。#include<cstdio>#include<cstring>#include<algorithm>using namespace std; const int max...

2020-01-13 12:27:55 203

原创 hdu4812 D Tree 2013南京区域赛

http://acm.hdu.edu.cn/showproblem.php?pid=4812solv(rt)写成solv(v)了,一直超时,调了2个多小时,看到网上题解有写得跟我一毛一样的,二分抄代码找到了。。。点分治超时肯定要么在dfs上,vis[u]=true没标之类的,要么在solv(rt)上,solv错了点导致不符合点分治了。我之前写的点分治版本都是算出所有的然后再减去重复的组...

2020-01-13 10:45:50 109

原创 hdu5977 Garden of Eden 2016大连区域赛G题

http://acm.hdu.edu.cn/showproblem.php?pid=5977点分治,对于每个重心u计算出经过u且能构成当前需要的满状态ss的方案数。对于每条到u的路径,我们得到这条路径上有的种类的状态压缩的数字a[i]然后枚举a[i]的每个子集(可以在calc中枚举,也可以在外面枚举存在vector)) s0,sum[s0]++,说明a[i]是包含s0的,s0是a[i...

2020-01-12 20:29:57 183

原创 洛谷P2634 [国家集训队]聪聪可可

https://www.luogu.com.cn/problem/P2634点分治,在calc函数中统计长度为3的倍数的路径就可以了。在calc中我们算出来的是点对的数量,且没有顺序,也不能选择同一个点。所以最后我们要ans=ans*2+n,选择同一个点他们之间的路径长度是0#include<bits/stdc++.h>using namespace std;c...

2020-01-12 16:45:47 128

原创 洛谷P3806 点分治1

https://www.luogu.com.cn/problem/P3806时隔一年半复习一下点分治。。。。点分治模板就是nlogn的,然后内部每次要排序还要二分就是nlog^2n的复杂度。。。。812ms飘过不过看到网上一些平方求是否有K的组合也过了???显然是要先合并值相同的,再枚举一个值为x的,二分找k-x的吧。。。。#include<bits/stdc++.h&...

2020-01-12 15:28:33 283

原创 BZOJ1823 [JSOI2010]满汉全席 洛谷P4171

https://www.luogu.com.cn/problem/P4171https://lydsy.com/JudgeOnline/problem.php?id=1823辣鸡bzoj又不能用auto裸中裸,8说了。yyb的2-sat列表难度顺序不太对。。。我觉得入门题那个dfs反而比较麻烦。。。#include<bits/stdc++.h>using nam...

2020-01-11 21:40:52 152

原创 NOI2017 游戏 洛谷 P3825

https://www.luogu.com.cn/problem/P3825(NOI也不过如此,盲目自信.jpg这题我们知道对于地图a,b,c来说,只有两种选择,那么就是2-sat裸题了,考虑地图x,由于d<=8,我们让它要么是A,B要么是B,C,就包含所有情况了,只需要2^d的枚举之前建图忘记对称建了,WA了一发,身败名裂.jpg对称建也就是对于i要选择j,这个命题等于...

2020-01-11 21:02:53 188

原创 bzoj1997 [Hnoi2010]Planar

https://www.lydsy.com/JudgeOnline/problem.php?id=1997本来是做2-sat的,结果发现这题就是直接相斥,那么并查集虚点做法就可以了。题目给出了一条哈密顿回路,那么我们只要把这个哈密顿回路拿出来,再判断那些不在这条路上的边不相交,就可以判断他是不是平面图了。网上查题解查到一个平面图的性质,m<=3*n-6,m太大就直接判断是NO,否...

2020-01-11 17:18:47 113

原创 hdu1814 Peaceful Commission

http://acm.hdu.edu.cn/showproblem.php?pid=1814这题搞了我半天。。。。而且似乎不需要用tarjan求强连通分量,直接暴力dfs就行了。。。从前向后dfs,假设(1,2)中选择了1号点,那么取图中dfs,所有能够到达的点都要选,那么每到一个点就判断一下,如果没有必选,那么就必选,如果已经必选了,说明在这个点之前已经dfs过这里了,就直接return...

2020-01-11 14:56:22 142

原创 codeforces 1285E Delete a Segment

http://codeforces.com/problemset/problem/1285/E这题我觉得思维难度为C,D还要低。。。去掉一个线段使得最后的union数量最多,那么显然是先把所有线段覆盖在区间上,离散化后用差分求出每个点被多少条覆盖了,对于每条线段,把他去掉的答案就是他所在的区间有多少段1,因为把它去了这些1就会变成一段一段0,要把它加上。因为是区间覆盖,整点坐标,所以先...

2020-01-11 10:00:28 469

原创 codeforces1285D Dr. Evil Underscores

http://codeforces.com/contest/1285/problem/D记得一点归并排序的写法,之前也写过一点cdq分治,这题就很容易想到了按照二进制从高往低位考虑,假设我们X[29]=1,那么ai[29]=0的这一位会变成1,ai[29]=1的这一位会变成0,那么最后最大值就一定在ai[29]=0的区间段中了。X[29]=0的时候反之,不过最后的最大值ans[29]一定为...

2020-01-11 09:41:56 336

原创 codeforces1285C Fadi and LCM

http://codeforces.com/problemset/problem/1285/C水题想一年,学弟7分钟就过了。a*b/gcd(a,b)=X,已知X,要求max(a,b)最小,我们可以贪心地想到gcd(a,b)=1比较好,这样max(a,b)小一些于是我们知道把X质因数分解,把不同质因子一部分给a,一部分给b,使得max(a,b)最小结果我一开始贪心去了。。。。但是贪心...

2020-01-11 09:23:59 344

原创 poj3683 Priest John's Busiest Day 2-sat 构造方案

http://poj.org/problem?id=3683poj bits不能用就算了,结果auto也不能用= =,直接去牛客上过了,舒服这题构图很简单,每个仪式只有两种时间,那么n^2看冲突就行了,注意如果一个仪式的某一个时间段会跟另一个仪式的两个时间段冲突,那么这个时间段就是不可选的。这题关键是构造方案,传统的2-sat构造方案都是强联通分量缩点以后按反向图跑拓扑排序,我们可以知...

2020-01-09 17:13:19 240

原创 poj3678 Katu Puzzle 2-sat

http://poj.org/problem?id=3678变量名写错了检查好久。。。2018年寒假的时候过于摸鱼,没有看懂2-sat,现在看了算法竞赛进阶指南上,发现讲得很好很容易懂,而且跟并查集的虚点进行了对比,当时并查集的虚点还是TB教我的,非常巧妙,印象比较深刻。这题我们把几种位运算分一下情况。a and b =0 ,此时我们知道2个都是0时可行的,2-sat的连边是表示有...

2020-01-08 22:15:36 233

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除