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

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

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

原创 hdu6727 Quasi Binary Search Tree 2019百度之星复赛

http://acm.hdu.edu.cn/showproblem.php?pid=6727其实本质就是一个中序遍历的问题,我们会尽可能先走向编号最小的点。那么只要用一个计数器来标记每个点的编号就行了。但是本题有很多坑当前根节点的编号要比左右子树中最小的点都要小的时候,那么比较左子树右子树的size,先走小的size那边,才能让当前根节点的序号尽可能小。如果sz相等,还是要比较左右子树...

2019-08-31 23:50:14 211

原创 hdu6726 Transformation 2019百度之星复赛1002

http://acm.hdu.edu.cn/showproblem.php?pid=6726考虑A,B操作,可以发现每次A操作(a,2*(b-a)+a)->(a,4*(b-a)+a)->(a,8*(b-a)+a),B操作也是类似。可以看见每次a,b之间的长度增长是原始长度的len=abs(b-a)的二的幂次倍而且a,b移动的长度也原始长度len的2的幂次倍于是只要(a,...

2019-08-31 23:07:39 206

原创 cf gym 102222F Moving On

http://codeforces.com/gym/102222/problem/Ffloyed好题,我们对每个点的危险值进行排序,然后只能让前dp[k][i][j]表示前k个点允许走的情况下,最短路的状态对于每个询问就是找到危险值较大的那个城市 id 得到dp[id][u][v]的值。#include<bits/stdc++.h>namespace fastIO {...

2019-08-31 17:05:07 252

原创 codeforces 1213D2 Equalizing by Division (hard version)

https://codeforces.com/problemset/problem/1213/D2这题看了没撒想法,然后依次写完了GEF,(F写错了个sb错误QAQ),回头来看才想出来,应该是本场最难题。这题关键在于考虑一个数字/2,那么他经过操作能变成的数字只有log个。于是我们可以枚举这k个数字的大小i,从1到2e5,然后能变成i的数字中找k个最小的代价出来求和,那么ans就是所有...

2019-08-31 01:08:37 485

原创 codeforces 1213F Unstable String Sort

https://codeforces.com/problemset/problem/1213/F对 p,q建图u->v表示s[u]<=s[v]如果形成了一个环,那么这个环中所有点的值必须相同于是强联通分量缩点,每一个强连通分量的大小必须相同,所以直接拓扑排序,然后看最多能安排多少个字母(卧槽写错一点好气 啊,我安排到z后面一个字母去了,<写成了<=,再次...

2019-08-31 01:05:34 489

原创 codeforces 1213G Path Queries

https://codeforces.com/problemset/problem/1213/G把询问离线,对于每个询问,我们把比他的要求小的边全部加进树中。那么答案就是所有连通块的贡献,每个连通块的贡献是sz*(sz-1)/2那么我们按询问的要求值从小到大排序,然后每次尝试加边,并用并查集维护连通块大小#include<bits/stdc++.h>#define ...

2019-08-31 01:01:49 638 3

原创 SCU 4444 Travel 2015四川省赛

考虑1-n之间有无实边,有实边我们要么直接走实边到n,要么全部走虚边到n,看哪个快,全部走虚边涉及到一个bfs的复杂度证明的问题,我们用一个链表来维护还有哪些点没有访问到,那么对于一个起点u,他对链表中的每一个v失配,都说明u,v之间存在一条实边,那么我们最多失配m次,所以复杂度是(m+n)logn的,logn是用set找是否失配的问题。如果1-n之间没有实边,要么走虚边直达,要么全部走实边,...

2019-08-29 09:22:28 109

原创 SCU4445 Right turn 2015四川省赛

很好的模拟= =,离散化以后在vector里面二分找到会撞到哪个障碍,nlogn的复杂度不过有更简单的办法,直接每次for循环找会撞到哪个障碍,n^2....好写得多#include<bits/stdc++.h>#define maxl 50010using namespace std;int n,ans;int totx,toty,cntx,cnty;struc...

2019-08-29 09:06:00 148

原创 codeforces 1208D Restore Permutation

传送门:http://codeforces.com/problemset/problem/1208/D大水题= =,比C的构造不知道水到哪里去了从后往前考虑,最后一个s[n]一定就是比a[n]小的所有数字的和,所以可以直接算出a[n]。接下来,s[n-1]是去掉a[n]之后的情况下,比a[n-1]小的所有数字的和,我们也可以知道a[n-1]的值这样用一个树状数组维护一下去掉后面已经...

2019-08-27 20:12:51 277

原创 codeforces 1208C Magic Grid

传送门:http://codeforces.com/problemset/problem/1208/C构造题是构不出来的,这辈子都构不出来的,只能当手速狗做做模拟题混分这样几。还好这场忘记报名发现A交不上去不打了,不然碰见构造题又是掉分。考虑 每个4*4的方阵0 1 2 34 5 6 78 9 10 1112 13 14 15 这样的每行每列异或都是0而对于之后的方...

2019-08-27 19:19:29 329

原创 csuoj 2000 Tian Ji's Horse Race Again 2017湖南省赛

完了,这场先WA一发 A,再WA B,然后发现问题后又WA一发A。。。心态爆炸,不然这题早过了,而且也能写完I了。Last time, the king of the country Qi lost to Tian Ji in a horse race as Tian using a little trick. Today, the king invites Tian to play anot...

2019-08-25 08:59:03 318

原创 hdu6709 fishing master 2019ccpc网络赛

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6709我还记得去年ccpc网络赛第一题也是这种贪心题,放进堆里然后时光倒流。。。对于煮的久的鱼,我们一定要先钓,因为煮得久,在煮鱼的时候就能钓得更多,出现没鱼可煮然后要登一条鱼钓上来再开煮的情况就可能性更小。我们再考虑对于每一次煮鱼,如果还剩>=k的时间,那么肯定多钓一条鱼,如果此时剩余...

2019-08-23 23:16:30 694 2

原创 hdu6705 path 2019ccpc网络赛

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6705大概是这题的加强版,https://blog.csdn.net/liufengwei1/article/details/97191896就用node{u,v,id,l} 表示一条从u到v的长度为 l 的路径,编号为id(没加这个id之前因为插入set失败导致RE3发。然后我们只需要枚举从...

2019-08-23 22:57:21 203

原创 codeforces 1207F Remainder Problem

传送门:http://codeforces.com/problemset/problem/1207/F5e5也能分块= =,cf评测姬快如闪电,不过当时也没时间写了又是一道卢总当年讲过的big-small思想len=sqrt(5e5)对于x<len的我们存到数组val[len][len]里面,O(根号n)修改,O(1)查询对于x>len的我们直接在原数组上加,然后O(5...

2019-08-23 09:57:38 480

原创 codeforces 1207E XOR Guessing

传送门:http://codeforces.com/problemset/problem/1207/E可能是我见过的最水的交互题了。。。虽然一开始写叉了,不过最后还好改完交上去了第一组询问我们直接输出1-100,那么x与这些数字异或得到的所有结果中对于任意结果t1, t1在二进制下的第8-14位绝对没有问题,因为1-100只有1-7位可能有1,后面的全是0,那么 a[i] ^ x = t1...

2019-08-23 09:46:39 413

原创 codeforces1027D Number Of Permutations

传送门:http://codeforces.com/problemset/problem/1207/D反向求good array,那就在总方案数 n! 中把bad array全部减掉我们先把数组按照a排序,那么因为第一维是不降的方案就可以计算出来了,就是对于相同的一段a,他们内部可以随便交换位置,那么这段长度为len的相同的a就可以贡献 len! ,把所有len!乘起来就是 第一维不降的方...

2019-08-23 09:38:59 320

原创 codeforces 1204C Anna, Svyatoslav and Maps

传送门:http://codeforces.com/problemset/problem/1204/C我们从原p序列考虑每个点 i 能否删除,用双向链表存下当前还剩哪些点,如果他能删除,必定是 nxt[i]和pre[i]之间的距离等于必须要经过 i 的距离,那么就说明没必要经过 i 这个点于是我们从前向后枚举,看每一个点是否能被删除,最后剩余在双向链表中的点就是必须要经过的点,也就是最短的...

2019-08-21 01:44:34 24959

原创 hdu6685 Rikka with Coin 杭电多校第九场

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6685比赛的时候没过,队友重写一发过了。经过对数据的调试,发现了一些问题我已开始只开到20开始爆搜,经验证发现不行要开到30爆搜后来还发现一些问题。。。。比如我们在最大值/100*100-200的位置为基准bas,大于bas就减去bas再除10,说明这个是要通过10 20 50 100...

2019-08-20 00:45:29 213

原创 hdu6687 Rikka with Stable Marriage 2019杭电多校第9场

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6687题解传送门:https://blog.csdn.net/liufengwei1/article/details/985361618说了,原题竟然没有人开,我看都没看。。。claris还说第五场这题过了76个这场怎么就过了8个。。。那题求最小,这题求最大,改改finda和findb函数...

2019-08-19 19:21:33 367 2

原创 codeforces 1205B Shortest Cycle 最小环

传送门:http://codeforces.com/contest/1205/problem/B由于是 & 不为0就能连边,那么我们考虑每个数字的二进制的1-62位,如果另外一个数字在这一位上也有,那么他们就有一条边相连。而且我们知道,如果某一位上有3个数字都有这位,那么答案就是3了,那么总大于0的数字个数不超过124,否则直接ans=3.然后对124个数字建图,求最小环大小就...

2019-08-19 10:39:54 238

原创 Mindis 2019百度之星初赛第一轮

由于矩形边界是算的,所以我们离散化的时候需要加点,用来表示相邻两个左边之间的区间,1是x=1,3是x=2,2就是numx[x=2]-numx[x=1],点是没有长度的,区间是有长度的。我们用差分来统计离散化后每个点被多少矩形所覆盖了,就能知道这个地方的速度,那么这里如果是个区间,那么时间就是区间长度/速度,否则时间就是0然后建图,跑dijkstra。#include<bits/...

2019-08-17 21:27:14 404

原创 Game 2019百度之星初赛第一场

由于要依次完成任务,所以对于我们从前到后把可以取交集的取交集,不行就新开一段。这样由于要从前到后完成任务,就是这些互不相交的交集区间要依次到达。于是我们先根据第二个区间的位置选择第一个区间开始的起点然后就每次根据下一个区间与这个区间的相对位置选择到达的端点就行了。有个小细节,就是走到端点长度为奇数的情况下,不一定是走到端点,而是可能再走一格,代价一样,但是对后面的更优#i...

2019-08-17 21:12:39 559

原创 hdu6667 2019杭电多校第8场

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6667学习了一下https://www.cnblogs.com/cly-none/p/Hall_Theorem.html其实我也不太懂为撒。。。#include<bits/stdc++.h>#define maxl 1000010using namespace std;i...

2019-08-16 20:53:57 305

原创 H pair 2019牛客多校第七场

传送门:https://ac.nowcoder.com/acm/contest/887/H这题一直忘了补。。。今天没比赛刚好补了比赛的时候看见以为是撒高级数论计数题,然而怎么过了这么多人,最后没想到是数位DP。我们知道对于位运算来说,当高位& >C 或者 高位^ <C,那么就一定能被算进答案里了。所以从高位开始数位dpdp[pos][dc][xc][sta]...

2019-08-16 17:02:06 237

原创 comet OJ #8 D 菜菜种菜

传送门:https://cometoj.com/contest/58/problem/D其实是个水题,不过我当场没有想起来先求一个总的,再用另一个树状数组维护另一个,减去多余的这种套路我们预处理对于每一个点 a[i].id ,他在 [ a[i].ll , a[i].rr ]区间之内不会有可以直接到的点,那么我们按照a[i].ll排序再对所有的询问的区间按照左端点排序。对于每一个询...

2019-08-16 10:58:03 196

原创 J Symmetrical Painting 2019牛客多校第九场

我太菜了啊,这题想了好久没想出来,队友想出来,一开始还错了,4个多小时才过,队友爆long long WA了一发,然后我数组全改成long long ,结果这题只有30mb的空间,然后我又mle了两发。。。。罚时爆炸。其实可以知道,对于一条黑色矩形,中位线从左向右移动,那这条黑色矩形的贡献是先增大再减小的。可以想到,中位线一定在某个矩形的左端点或者右端点或者中点上,因为每段的中间,都是递增...

2019-08-15 22:01:04 203

原创 E All men are brothers 2019牛客多校第9场

传送门:https://ac.nowcoder.com/acm/contest/889/E就记录一下每一块的人数,以及sum[1]表示所有人数,sum[2]表示所有团选2团的方案数,sum[3]表示选3团,sum[4]表示选4团。每次合并x团和y团时,先从sum[1]减起,减到sum[4],吧x团和y团在sum[1..4]中的贡献全部减去然后再从sum[4]加到sum[1],把x团和y...

2019-08-15 20:54:53 127

原创 H Cutting Bamboos 2019牛客多校第9场

传送门:https://ac.nowcoder.com/acm/contest/889/H这题主席树板题竟然只过了这么点人。。。我们算出从1-x次cut,需要切掉的竹子总长度是多少,然后二分答案mid,看大于mid 的竹子有多少,已经从mid切下去能切出总共多少长度的竹子。以权值为下标,每个点存储竹子个数和长度总和的主席树就每个跟节点rt[i]代表 1--i的竹子的情况。然后每次二...

2019-08-15 20:33:16 255 2

原创 ccpc2016杭州D题HDU5937

upd:这篇是17年写的博客,结果后来18年出成月赛于是把这篇删了,现在还原又变成最新发布时间了。。。。传送门:http://acm.hdu.edu.cn/showproblem.php?pid=5937一开始认为是网络流,1边是1-9,另一边是1+1=2 1+2=3,但如何限制3个流量满流到右边才能对答案贡献为1?完全想不出,以为是个神建模。之前认为D是搜索,然后队友说不可能这个也是搜索...

2019-08-15 19:03:23 165

原创 D Knapsack Cryptosystem 2019牛客多校第9场

传送门:https://ac.nowcoder.com/acm/contest/889/D这算是经典套路了,分成两半匹配,15年学hash的时候,好多poj的题就是问有没有a+b+c+d=0这种类型的。那么这题一样,分成两半,前一半的所有情况排个序,再枚举后一半的每一种情况能不能跟前一半的某一种情况加起来恰好等于s答案就是状压的数字。#include<bits/stdc++...

2019-08-15 19:00:19 148

原创 codeforces 1203D2 Remove the Substring (hard version)

这题还挺难得,当时比赛看了题没想法后,做完E再回来做才过掉,比赛的时候是用二分以后扫一遍判断的,比赛后学习了O(n)做法,觉得更加好一些。s从前往后匹配t,得到t的每一个位置在s中的位置pre[1...tlen],从后往前匹配t,得到last[1...tlen]那么答案其实就是删除中间最长的一段,是的pre和last能够连起来。二分的话,先让二分出来的要删除的长度为mid段在slen-...

2019-08-15 09:17:30 415

原创 hdu6665 Calabash and Landlord 杭电多校第8场

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6665比赛中分情况讨论没过,队友用离散化跑dfs过了,十分精妙赛后把情况讨论分对了,判断完全在外部的情况,相等的情况,两条对边有重合的情况,一个内含另一个但只可能相邻边重合的情况,其他剩下的相交的情况就都是4了。#include<bits/stdc++.h>using nam...

2019-08-14 22:26:44 172

原创 codeforces 1203F2 Complete the Projects (hard version)

传送门:http://codeforces.com/problemset/problem/1203/F2由简单的我们知道要在b<0的部分,我们需要选择a+b尽可能大的所以这题要求最多能选多少个,b>=0的情况我们尽量拿就行了b<0的情况,就尽量先拿a+b大的,当某个时刻某个物品不能拿的时候,就从之前的拿的物品中b最小的(减得最多的)把他(可能是当前这个物品本身)丢出去...

2019-08-14 10:55:06 463

原创 codeforces1203 F1 Complete the Projects (easy version)

传送门:http://codeforces.com/problemset/problem/1203/F1参考博客:https://blog.csdn.net/evilwind2000/article/details/99542823?utm_source=app分两种情况:b>=0的时候十分简单,只要一直取a最小的就行了b<0的时候,一直取 a+b 较大的,只需证明 a1+...

2019-08-14 10:45:47 318 2

原创 All-one Matrices 2019牛客多校第8场A题

传送门:https://ac.nowcoder.com/acm/contest/888/A这场我咕咕咕了,请假回了家,我远程跟队友口胡,队友还没做出来,然后回来后补题竟然还一直WA。。。难顶,hkt给了我几组数据终于调过了。之前求最大全0子矩阵的经典问题我的单调栈写得是有问题的,对于当前高度h[i][j]相等的情况,如果弹出,那么右区间就不对,如果不弹出,那么左区间就不对,但最右边的那个位...

2019-08-13 10:35:42 141

原创 hdu6655 2019杭电多校第七场

这题是全场最水的题。。。榜被带歪了比赛最后半个小时开始写,然后一开始没想清楚。。。WA了,然后想到问题后,16:52不知道怎么改了。。。。其实稍微仔细推推就很简单了,比赛最后的时间有点紧张。考虑现在是 Cuber QQ 出牌,他有两种选择,如果他有某张对方很多的牌,那么他出这张牌,就能让对方出不了。第二种选择也是我之前WA的时候没考虑到的情况,他有很多张颜色为 i 的牌,但对面有这张牌...

2019-08-12 20:34:38 392

原创 hdu 6656 2019杭电多校第7场 期望题

设f[i]为从i升级到i+1期望需要的金钱,由于每级都是能倒退或者升级到i+1,所以询问从l,r的期望金钱可以直接前缀和,那么推导每一级升级需要的期望钱也可以用前缀和推导设sum[i]=f[1]+f[2]....f[i] ,那么从 l 升级到 r 就是sum[r-1]-sum[l-1]。对于f[i] ,有p的概率交钱直接变成i+1,有(1-p)的概率回到x级,那么回到x级后想要升级到i+1...

2019-08-12 19:32:11 282

原创 hdu6644 11 Dimensions杭电多校第6场

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6644比赛的时候看到这题以为是水题,然后发现有q组询问。。。。数位DP预处理之后一次询问应该是O(n)的吧,除非倍增去求logn?完了这怎么倍增啊,每个位置可以选9个数字,都不是线性的怎么倍增卧槽,然后这题最后竟然过了64个。。。是我太菜赛后看claris的题解发现果然是倍增,但是实在看不懂轻...

2019-08-09 16:35:24 352

原创 codeforces1202D Print a 1337-string...

构造题是不可能构造得出来的,这辈子都构造不出来的,600个人会构造也没用,只能靠偶像用我的账号过E然后维持一下分数这样几。当场已经想到构造1333733337这种形式,先找到最多的3然后把剩下的补上就行了,但我突然想到剩下的3补到后面,前面的3和后面的3会一起选择,然后变成更多的33,于是就不知道怎么确定后面3的数量了。。。结果是先找出最多的3,然后在最前面的2个3后面插入7....变成1...

2019-08-09 09:48:04 279

原创 Find the median 2019牛客多校第七场 E

传送门:https://ac.nowcoder.com/acm/contest/887/E考场上早点开这题就好了,到最后也没有过样例主要还是离散化区间变成点的这种线段树题写的太少了,上次写可能是17年暑假卢总挂的题。。。18年湖南省赛那道题也是离散化后要用一个点代表一个区间,然而当时就不敢写那题赛后想清楚很快就改好了,但是因为进入线段树找恰好是中位数的地方出了一些问题,WA了一发。...

2019-08-08 20:56:32 437

空空如也

空空如也

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

TA关注的人

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