自定义博客皮肤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

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

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

原创 hdu6616 Divide the Stones 杭电多校第四场

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6616首先讨论n,n/k的奇偶性问题1.n是偶数,n/k是偶数此时每堆的重量为 n*(n+1)/2/k ,则有n/k%2==0 那么为 t*(n+1),所以此时直接1+n 2+(n-1)这样配对就行了2.n是偶数,n/k是奇数可以得出k一定是偶数,此时每堆重量为n*(n+1)/2...

2019-07-31 22:25:19 434

原创 hdu 6621 K-th Closest Distance 杭电多校第4场

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6621队友一上来分块RE了一发,搞得我也想分块,结果lts一声主席树,然后就发现是主席树板题了。。。直接权值主席树,下标表示值,记录的sum表示当前值的个数就行了,然后二分答案,得到上下界,用rt[r]-rt[l-1]去找就行了。#include<bits/stdc++.h>#...

2019-07-31 19:03:44 275

原创 codeforces 1198D Rectangle Painting 1

比赛中写了个假贪心,赛后发现就是个经典的平面区域(棋盘)DPf[x1][y1][x2][y2]为把这一块变白的最小代价,如果他就是全白的,那么为0,如果只有一个点,那么直接判断然后返回使用记忆化搜索的形式DP,对于每一次,有一种方案是直接把这一片区域全染白,那么代价是max(y2-y1+1,x2-x1+1)。另一种方案是把这片区域分成两半然后递归下去找这两半的最小答案加起来。#i...

2019-07-31 10:41:20 724

原创 codeforces 1198C Matching vs Independent Set

晚上这题写了一半感觉不太对就去写F了,结果F也写了个假贪心,虽然靠前四题的手速还是上了分小号也紫了,不过下场只能div1那么又要掉回div2了。这题事实上巨水。只要能想到一条边占用两个点,这两个点是一次性被占用掉的,所以跟什么dfs顺序啥的都没关系,只有讨论点的时候要考虑dfs树的相邻节点属于不同集合。但这里只要把点当成消耗品去加边就行了,因为一个点最多连一条边,不连白不连。于是就一直尝试...

2019-07-31 09:45:02 518

原创 poj2230 找欧拉回路

求一条欧拉回路的方法,每次移动前向星的head,避免变成O(N*M),这样就变成O(N+M)了#include<cstdio>#include<algorithm>#define maxl 50010using namespace std;int n,m,top,cnt;int ehead[maxl],s[maxl*2],ans[maxl*2];str...

2019-07-30 14:37:33 126

原创 poj2942 点双联通分量

我们建立原图的补图,每条边代表这两个骑士之间没有仇恨。那么某个骑士在一个奇环中,就可以出席某个会议然后又两个推论推论1:能坐在一桌开会的骑士必须要在同一点双联通分量中。能在一个奇环上就肯定在同一个点双联通分量中。推论2:点双联通分量中只要存在一个奇环,那么每个点都可以是一个奇环中的。就是由于一个奇环外的一条链,他在这个奇环上的连接处分割的奇环一边是奇数链一边是偶数,那么无论这条...

2019-07-30 11:06:49 208

原创 poj3694 边双联通分量缩点

这题思路很简单对边双联通分量缩点,变成一棵树,那么每条边都是桥,然后每加一条边,就从所在的两个节点向上跑到LCA的地方,然后把沿路的桥都从答案中减去,由于q次询问是持久化影响的,所以我们用并查集维护,在同一个并查集中表示这些点之间的桥都已经被删除了,那么q次询问下来最多只会跑n次,所以复杂度为O(n alpha(n)),据说数据很水,q*n也能跑过去233#include<cst...

2019-07-30 09:35:33 182

原创 HDU6606 Distribution of books 2019杭电多校第三场

考场上二分以后只想了贪心,没想DP看见题解里的DP1秒想出来,卧槽巨水,完了水题也不会做了。考虑一个答案,然后dp[i]表示分配前i本书最多可以分给几个人,然后如果无法以i结尾就不更新dp数组然后把前缀和离散化,dp[i]=max(dp[j]+1),sum[i]-sum[j]<=mid ,那么就用sum[j]>=sum[i]-mid,然后二分出最小的离散化值,权值树状数组...

2019-07-30 00:19:08 667 8

原创 2019 牛客多校第四场 B xor

完全看不懂 线性基求交。。。只能抄别人板子学习链接:https://blog.csdn.net/demon_rieman/article/details/88830846我怎么感觉他说的每个字我都认识但组在一起我就不认识了#include<bits/stdc++.h>#define maxl 50010using namespace std;int n,m,q;...

2019-07-28 22:06:33 350 3

原创 X or What?(2019 Google Kickstart Round D)

题目链接:https://codingcompetitions.withgoogle.com/kickstart/round/0000000000051061异或的神奇性质。a^b,那么实际上是b的二进制中为1的位置,会让a中对应位置翻转(0^1=1,1^1=0),所以这题要求一个保证异或和的二进制的1的位数为偶数的最长子区间的长度,就可以用以上性质了,a^b,如果b的1的个数时偶数,那么a的...

2019-07-28 16:35:25 1084

原创 Food Stalls (2019 Google Kickstart Round D)

题目链接:https://codingcompetitions.withgoogle.com/kickstart/round/0000000000051061我。。。。这还能不按照x顺序给出的吗。。。,前两个样例都是顺序给出的,第三个样例我没注意。。。但怎么过了第三个样例啊。。。难顶,分低了还罚时爆炸我们假设当前选出了k+1个位置,那么这k+1个位置的c是固定加到代价里去的,那么这个时候货...

2019-07-28 16:20:49 745

原创 2019牛客多校第四场 A meeting

考场上写了一大坨树形DP,写的时候就感觉我这不是跟求树的最长链写的一毛一样然后考后看题解,果然是k个ren所连成的子树的最长链的一半可以利用反证法证明,如果在长度为d的最长链的中间放一个中心,如果有另外一个点到这个点的长度>(d+1)/2,那么这个点到对面的那个点的长度大于d,所以不存在这样一个点。#include<bits/stdc++.h>#define ma...

2019-07-27 21:20:10 487

原创 2019牛客多校第四场 D triples I

对于二进制每一位上的1进行考虑,2^0%3=1 , 2^1%3=2 , 2^2 %3=1 ,2^3 %3=2那么我们可以想到把a转化为二进制,然后他%3=1的位数有cnt1个,%3=2的位数有cnt2个。我们可以想到每个数字最多由2个数字组成,下面给出证明。那么 sum=a%3,如果sum=0,那么直接一个数字带走a了如果sum=1:那么如果cnt1>0,那么就...

2019-07-27 20:32:29 195

原创 bzoj1123 [POI2008]BLO

对于一个点的答案ans[u],如果u不是割点,那么删去u,其他点还是连通的,由于是有序点对,那么ans[u]=2*(n-1)如果一个点是割点,那么则需要另外讨论。在tarjan搜索的路上,记录u的所有子节点v的权重sum,首先对于所有儿子v,size[v]表示搜索树中v子树的节点个数,那么这个size[v]为有序对前一个的贡献就是ans+=size[v]*(n-size[v])。然后是...

2019-07-27 20:16:44 146

原创 求桥模板 [Gym-101986F]

原来的题解:https://blog.csdn.net/liufengwei1/article/details/84489935这题有一步是要求1-n中间所有最短路边上的关键路径,也就是最短路边组成的子图的桥当时训练赛我还不会求桥,就去网上找有向图求桥的代码然后WA了半天。。。后来发现别人都是先转换成无向图再求桥的这里更新为了lyd《算法竞赛进阶指南》上求桥的板子如果搜索树上某...

2019-07-26 20:56:19 266

原创 poj1144 求割点模板

以后这种模板还是看书比较好,网上的博客都讲得不是很好,推荐lyd写的《算法竞赛进阶指南》写的,代码比较现代化(是的我就是在嫌弃紫书白书),然后讲解的也通俗易懂。在各类tarjan算法中,dfn[i]表示到达i的序号,low[i]表示i所能间接到达的点中dfn最小的值。那么如果一个点u是割点,如果他是根节点,那么就要有两个儿子节点的dfn[u]<=low[v],如果不是,那么只要有一个...

2019-07-26 19:54:27 188

原创 2019牛客多校第三场 I Median

题意:输入b[3]...b[n],表示n,n-1,n-2位置的中位数,求构造一个序列。题解给出一个结论是如果有解,那么a[i]必可以是可以受他影响的三个中位数中的一个。反证法:如果a[i]不是这三个中的其中一个,简单分析可知,必然有a[i] 大于这三个的最大值或者小于他们的最小值,那么显然把这个值调为最大值或者最小值,不会影响三个中位数。这样很有道理,就可以DP了,令影响a[i]的三个数字...

2019-07-26 15:49:32 428

原创 2019牛客第三场 F Planting Trees

上次cf做了一道二维单调队列,于是在这里也枚举右下角的点用二维单调队列,结果好像不行,,,最后题解是直接枚举上下边界,然后从左到右单调队列扫过去记录,记录当前右边界下最远的左边界可以在哪中间超时,加了很多优化,结果是最后在mi[i]赋初值的地方出了问题,以前一直做1e5的题目,用maxl作最大值,结果这里数值大小是1e5,maxl只有500。。。#include<bits/st...

2019-07-26 11:14:40 238

原创 hdu6581 2019杭电多校第一场 Vacation

现场队友二分过了,后来看dls讲课以后,发现O(n)做法非常简单自然我们考虑最终的情况,要么前面没有一辆车堵住tom,那么tom直接满速到终点如果前面某一辆车堵住了tom,那么最终情况是,从那辆车到tom全部连在一起,那辆车越过终点l[1]+l[2]...l[id]。总距离就是sum[id]+s[id],因为是这辆车堵住了,所以这辆车速度是从id到0中最慢的,这辆车到达那个位置的总时间...

2019-07-26 09:16:58 338

原创 hdu6602 2019杭电多校第二场 Longest Subarray

这题考场上都没去自习思考。。。其实就是个cf div2 D题难度的线段树,比那个三角形简单多了。。。我们枚举每一个区间r,看他左边最远的是的l-r合法的l,可以想到,r所在位置的数字a[r]从最左边到a[r]上k个前出现的位置lastk[r],1---lastk[r]是对于a[r]这个数字是满足条件的,因为从r到那段区间的位置a[r]的出现次数是>=k的。我们建线段树,枚举r=1-&...

2019-07-26 00:48:39 295

原创 hdu6601 2019杭电多校第二场 Keen On Everything But Triangle

看到可以离线询问区间,瞬间写莫队,后来偷听到学弟说只要记录最大的30个,我思考了一蛤,发现应该是最大的50个,然后继续莫队,结果一直超时,还想了好多办法优化常数,竟然没想到主席树区间求第k大枚举区间最大的50个。。。。卧槽我今天讲课内容才给学弟们讲过主席树啊。。。。其实最难的想法还是枚举三角形时,对边排序,然后从长到端枚举,假设有 a<=b<=c<=d.如果b+c>d ...

2019-07-26 00:37:56 398 2

原创 2019牛客多校第三场 J LRU management

之前没有注意到只查询上一个,下一个,和本身,一直在想怎么把一个数放到最后面,然后还要合并,还要知道每个数当前在数组中的位置,感觉好像不太可做。。。然后红太阳 lts 光速切掉这题,告诉我这个条件,就可以直接链表维护动态链表做过当年斌神出的 CSUOJ 2013 珂朵莉的移动硬盘,这种还挺简单的然后这题要用字典树离散化,然后字典树0号节点一开始没有清空。。。从1号点开始清空的。。。。...

2019-07-25 20:13:42 237 2

原创 codeforces #575 div3 1196F K-th Path

传送门:http://codeforces.com/problemset/problem/1196/F好不容易div3做出了最后一题,结果B题不知道WA哪了,巨惨,而且前期A题看不懂,B题WA,C题WA,排名巨低K只有400,那么我们一开始只需要加400条最小的边进图,那么涉及到的点最多就800.吧这些点拿出来在新建的图上跑spfa,跑出来所有的结果丢进ans数组里排序然后输出第k...

2019-07-25 00:45:22 255

原创 2019牛客多校第二场 D Kth Minimum Clique

暴力bfs,搞个优先队列每次取出当前的最小值的团,bitset维护当前团有哪些点,那么要新增一个点的时候,要保证新增点与在当前团中所有点都有两边,直接bitset & 一下判断复杂度大概是 k*O(bitset<100>)*log(堆大小)。由于bitset是常数级别的所以klog(堆大小)在新增点的时候要保证新增的点的序号在当前团的最后一个点之后,这样才能保...

2019-07-23 17:05:11 209

原创 hdu6579 2019hdu多校第一场1002

这题是cf 1100F原题,场上一堆人做出来了,然后我线段树线性基时间也过不去,空间也过不去看了题解后发现是个很容易的套路我们对1...i的数组维护一个b[i]的前缀和线性基,但是线性基中的数字,我们每一位都要记录一个pos[k]表示p[k]是由第pos[k]个数字填进去的,在插入的时候,我们让k从高往低优先插入当前位置大的数字,就算当前p[i]已经有数字了,如果pos[k]<当前插...

2019-07-23 14:39:01 259

原创 codeforces1197E Culture Code

这场一开始没报名,10多分钟才交AB,然后C题WA到1个小时才靠lts和hkt告诉我二分每一段的最大差值是个假做法,然后队友在群里面@我说你怎么2300名了。。。还好D题很水秒掉了,大概只要下一点分,E题当时考场上已经写得差不多了,结果调了一上午才过。。。先把端点离散化,按照左端点第一关键,右端点第二关键字从小到大排序。f[i]表示恰好out到 i 的最小代价;我们可以知道新加一个套娃的新...

2019-07-23 13:10:06 306

原创 HDU6590 2019杭电多校第一场1013 code

考场上想到是把二维平面的点用一条线分成两个集合,但是没想到用凸包去判断是否相交跟队友讲了题以后,队友提到了凸包但我没反应过来看了榜以后以为2题已经结束了,后2个小时都在跟隔壁队伍的同学吹水啊。。。。这道水题就没去开了。。。走在路上和队友又聊起这题,突然发现凸包相交就行了。。。然后回机房写了30分钟就过了。。。卧槽,好亏啊,以后比赛一定要每道题都认真思考一下,尽管是过得不多的题,几十...

2019-07-22 21:17:25 260

原创 2019牛客多校第二场 J subarray

题目链接:https://ac.nowcoder.com/acm/contest/882/J开场发现咖啡鸡过了,然后发现好像能做,然后用了树状数组2e7*logn,超时,过了20%,之后才去签H的到。赛后看了一眼题解,发现因为是连续的,直接用数组,不用树状数组,改了一晚上一上午,答案错误,通过率从53%到76%到80%,然后就实在想不到错哪了,弃疗了。牛逼网友链接:https://ww...

2019-07-22 10:51:16 895 3

原创 2019牛客多校第二场 H Second Large Rectangle

题目链接:https://ac.nowcoder.com/acm/contest/882/H最大全零子矩阵扩展题先一遍单调栈记录某一个最大的矩阵再一遍单调栈,如果当前最大的矩阵长宽为h,len,且坐标与记录的最大矩阵的坐标不同,ans=max(h*len,ans)不然就只更新h-1和len-1的情况#include<bits/stdc++.h>#define m...

2019-07-21 16:09:14 170

原创 2019牛客多校第二场 F

题目链接:https://ac.nowcoder.com/acm/contest/882/F队友一开始读错题了,费用流半天。结果一发搜索过了,加了一些优化剪枝。结果题解比我的还暴力,我的代码跑了1.8s枚举每一个放在A组还是B组,然后可行性剪枝,后面还没安排的的所有放在A(B)组还不够n,return最优化剪枝,当前状态总价值是w,sum[i]为v[i][1...n]的和,如果w+...

2019-07-21 16:05:47 243

原创 2019牛客多校第一场 H XOR

题目链接:https://ac.nowcoder.com/acm/contest/881/H复习线性基复习了好久。。。这题的关键是把异或为0的集合的大小之和转化为一个数字会在多少个异或为0的集合中出现,然后每个数字的这个值加起来就行。先求一个线性基,其中插入了r个数字,那么剩下的n-r个数字的任意组合异或都可以由线性基中的一些数异或表示,那么它们异或起来就为0.考虑线性基外的一个数...

2019-07-20 11:04:32 369

原创 2019牛客多校第一场A题

传送门https://ac.nowcoder.com/acm/contest/881/A比赛的时候二分答案,然后用单调栈统计每个数字统治的区间只要相同那么这个答案就是可行的后来看到牛逼网友的做法,直接O(n)单调栈扫一遍,然后只要判断统治区间(在这区间内最小)的左端相不相同,找到第一个不相同的位置,那里就是不行的。理性分析一下,因为右端是随便截取的,假设前i个可以,那么增加第i+1个时,新...

2019-07-20 00:16:16 326

原创 2019 牛客多校第一场 F

题目传送门:https://ac.nowcoder.com/acm/contest/881#question考场上看到输出36E,且保证36E是整数,然后想起整点三角形,面积一定是x/2,那么可以猜出期望是三角形面积的x/18。理性分析,期望肯定大于1/2,不会超过2/3,或者超过一点,于是盲猜一发11/18过了。然后看到了正解,其实好像还挺好算了。。。。不过求图形期望这种没什么经验,...

2019-07-19 15:13:53 338

原创 codeforeces 1187 D 单点修改区间最值用树状数组

网上的好多树状数组的区间最值都是错的啊。。。修修补补过了这题不知道还有没有别的问题。。。先当板子用这吧。。。以后碰到单点修改区间查询再测测#include<bits/stdc++.h>#define maxl 300010 using namespace std; int n,ans;int a[maxl],b[maxl],c[maxl],cnt[maxl],...

2019-07-19 12:29:17 89

原创 codeforces 1187D

传送门:https://codeforces.com/problemset/problem/1187/D比赛中写了个假的FST了,不过还好E题是个水题而且写得够快,还是上了一大波分那天晚上网友给了个hack数据51 3 5 4 21 2 3 5 4这个是YES,然后我就发现我没了,然后去hack了十多个人,结果发现edu赛后hack不加分。。。后来补题瞄了一眼题解,发现把整...

2019-07-19 00:18:35 310

原创 codeforces 1195E

传送门:http://codeforces.com/problemset/problem/1195/E题意是对于一个n*m矩阵,把所有a*b的子矩阵中的最小值加起来,问和是多少?考场上想得是从小到大枚举数字,然后就知道这个数字{i,j}能统治的区域为{max{1,i-a+1},max{1,j-b+1}}到{min{n,i+a-1},min{m,j+b-1}}这个矩形,然后二维线段树平面覆盖...

2019-07-18 10:13:12 357

空空如也

空空如也

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

TA关注的人

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