自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(460)
  • 收藏
  • 关注

原创 C++板子

c++

2022-02-09 16:51:09 607

原创 C++板子

C++板子

2021-03-06 09:44:15 700 1

原创 2022JZ游记

一杯茶一根烟一道破题写一天

2022-07-11 19:18:10 475 1

原创 CF1615H Reindeer Games

题目题目思路这题思路还是很妙的,考虑把所有的aaa抽象成n个点,然后进行二分答案。设现在这个点集为VVV,我们本质上在二分这个点集所有点的最终取值。那么接下来,我们要解决的问题就是,如何对点集进行二分。可以这样做,新建一个源点和一个汇点,然后开始建模。对于点集中每个点的初始值,我们将其和mid比较,大的与t连容量为1的边,小的与s连容量为1的边。原图的约束条件在建模时连容量inf的边。接下来跑一次网络流,就会得到一个残量网络。现在研究一下这个残量网络的性质。如果2个非源汇点之间有边,说

2021-12-26 11:06:41 588

原创 P4168 [Violet]蒲公英

题目题目思路考虑分块记fi,jf_{i,j}fi,j​为i到j块的众数,cntnum,icnt_{num,i}cntnum,i​为到i块为止num出现的次数。那么一开始可以O(n)O(n)O(n)计算f,O(nn)O(n\sqrt n)O(nn​)计算cnt。接下来的询问即可分块,时间O(mn)O(m\sqrt n)O(mn​).code:#include<iostream>#include<cstdio>#include<algorithm>#in

2021-12-11 21:17:11 210

原创 2021-11-10 CFvp杂题选讲

前言这里是vegetable team某成员在1天之内写了5场vp的日总结CF1557B Moamen and k-subarrays按理说这种屑题应该猜个结论就上了……结论为:直接考虑要分几段然后check#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<vector>using namespace std;int t

2021-11-10 17:31:15 572 1

原创 2021牛客OI赛前集训营-提高组(第六场)B 水果加工

题面题意n个果园运到2个基地中,要求全部果子都运完,用时为所有路的用时中最大值t1,要求所有运了果子的果园的c之和<=b。2个基地将会处理所有果子,对于i号果园运到j号基地的w个果子,用时为w*u(u的定义见输入),这部分用时为所有用时的最大值t2。求min(t2+t1)。20pts暴力搜索即可(当然也可以背包)40pts简单优化一下背包即可60pts这里加上ci,j=1c_{i,j}=1ci,j​=1的限制的部分分考虑对距离加个上限再背包即可100pts现在考虑4维 可能也

2021-10-20 20:46:07 193

原创 2021牛客OI赛前集训营-提高组(第四场)B 空间跳跃

题目题目思路考虑倒着跑,再去掉操作1,然后就变成了冰雹……但是负数会出环……所以我们需要用操作1把负数变成正数考虑环的最低点可以在哪,经暴力后发现有0,-1,-5,-17然后直接上操作1,接下来再继续冰雹,然后A了赛时90就离谱……遗憾总rank 8code:#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#include<cstring&

2021-10-12 21:15:59 225

原创 2021牛客OI赛前集训营-提高组(第二场)C 树数树

题目题目思路赛时写的正解,70pts发现优先队列不够快,然后打算绝望地去写左偏树……然后发现题解也是优先队列,但是……#include<ext/pb_ds/priority_queue.hpp>城里人真会玩然后我也加了,就A了……而且还是最优解第一页……吃了读书少的亏……其实方程还挺好想,设fif_ifi​表示i为根的子树的ans,那么对于叶子节点,fi=1f_i=1fi​=1。考虑非叶子节点,应该就是该点的子树中,不重复的(指fson1∉fson2andfson2∉fs

2021-10-07 10:58:35 231

原创 冲刺 NOIP2021 模拟赛 B 组 Day4

写在前面唔……话说我再来半个小时可能T4就A了……恰好我又少了半小时打……结论:以后作业最好慢点写《论同时开3场比赛还居然有一场AK这档事》(虽然偏偏是最水的一场)结论:以后打比赛尽量多开T1唔话说T1是啥来着?简而言之就是这样,那样,然后就A了定义一个集合SSS的fff函数为f(S)=max(a)−min(a)(a∈S)f(S)=max(a)-min(a)(a∈S)f(S)=max(a)−min(a)(a∈S)。给定一个集合SSS,求该集合所有非空子集的f函数之和。对1e9+7取模。思

2021-09-25 14:41:22 138

原创 P7854 「EZEC-9」GCD Tree

题目题目思路牛马题终于A了交了至少30发首先可以去重,把所有权值相同的点搞成一条链,如果要加个儿子就加在最后面的点上显然有的是有解时的树的形状:每个点的父亲是其所有出现的因子中最大的所以有一个结论:去重后的树高最大lognlognlogn接下来发现一些用来判-1的性质:首先,如果所有的gcd没出现,显然-1接下来,如果某个数有2个因子都出现了,而且这2个因子直接不是直接的祖先关系,就是意味着这个数既要在这个因子下面,又要在那个因子下面,而这两个因子又没有共同的子树,所以这玩意没得放,-

2021-09-09 20:47:41 125

原创 P7837 「Wdoi-3」夜雀 cooking

题目题目思路看见交互一般有2个结论:1.二分2.分块很好,这题综合了2个结论……由于完全随机,所以把n个人分出nmn\over mmn​个块,每个块期望有1个人特殊。接下来需要发现性质:如有:al+al+1>ara_l+a_{l+1}>a_ral​+al+1​>ar​,我们可以通过查询区间蓝色和来确认是否只有一个紫,而不是就可以对区间二分递归。al+al+1>ara_l+a_{l+1}>a_ral​+al+1​>ar​这个条件显然在除第1块外都成立。所

2021-08-23 21:00:14 93

原创 P7151 [USACO20DEC] Replication G

题目题目思路利用2次bfs求出每个点最早到达时间和扩展半径,然后用一个优先队列套BFS求答案code:#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<queue>using namespace std;inline long long read(){ long long ret,c,f=1; whil

2021-08-19 21:38:07 110

原创 P7410 [USACO21FEB] Just Green Enough S

题目题目思路对于每行,双指针计数,然后前缀和+二分优化,时间复杂度O(n3log⁡n)O(n^3\log n)O(n3logn),但很不满,能在不卡常情况下ACcode:#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<queue>using namespace std;inline long long read(){

2021-08-19 21:28:21 132

原创 P7411 [USACO21FEB] Comfortable Cows S

题目题目思路暴力搜可还行,建议降红黄搜的时候要考虑是否有必要扩展以优化code:#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<queue>using namespace std;inline int read(){ int ret,c,f=1; while (((c=getchar())>

2021-08-19 21:25:37 187

原创 P7412 [USACO21FEB] Year of the Cow S

题目题目思路裸贪心,记得开long long,差点没开code:#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<queue>using namespace std;inline long long read(){ long long ret,c,f=1; while (((c=getchar())&g

2021-08-19 16:21:25 149

原创 P3224 [HNOI2012]永无乡

题目题目思路思路很好想,FHQtreap+启发式合并,但就是……恶心的代码,因为合并需要把所有拆出来再和在中间……code:#include<cstdio>#include<cstring>#include<algorithm>#include<string>#include<iostream>#include<cstdlib>using namespace std;inline int read(){

2021-08-18 21:54:00 61

原创 P7296 [USACO21JAN] Uddered but not Herd G

题目题目思路直接装压dp!?看来是我想复杂了……code:#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<cmath>#include<string>using namespace std;string x;int o[100010],ans[30][30],p[100010];int dp[1&l

2021-08-17 20:45:04 146

原创 P7298 [USACO21JAN] Dance Mooves G

题目题目思路赛时刚T4就是赌博,赢了皆大欢喜,输了一败涂地。结果赌了2天天天涂地……总分77.7pts……myd从来不赌,结果200+……也许我也该戒赌了??提一嘴wj,52pts本题非常好想,非常不好写……可以发现通过置换构造环,然后考虑次数,如果做得够多,可以遍历整个环。否则GG滑动窗口搞code:#include<iostream>#include<cstring>#include<cstdio>#include<algorit

2021-08-17 20:40:32 122

原创 P7297 [USACO21JAN] Telephone G

题目题目思路比赛时乱推性质居然有60分!?UVA真水实际上是个毒瘤分层图bfs……按颜色分层:先来个原图层,向所有bib_ibi​层的iii点连边权为0的边然后对于剩下的颜色层,每层每个点向左右连边权为1的边如果当前层颜色可以到达bib_ibi​,本层第i个点向原图层第i个点连边权为0的边。所有边都有向。这样我们会发现,从原图层某个点到同层另一个点,只能通过多种颜色层横向走(每次花费1)和免费在同一号点上下摩擦(花费0)达到,符合题意。时间复杂度NKcode:#include&lt

2021-08-17 20:34:02 86

原创 P7293 [USACO21JAN] Sum of Distances P

题目题目思路比赛时根本没思路,结果居然是个神奇计数+奇偶最短路!?题目可以分成2个部分:求最短路和求规定点的方案数。发现对于题目要求的到(j0,…,jk)(j_0,…,j_k)(j0​,…,jk​)的路径,其实是在iii图到jij_iji​的最短路中最长奇路和最长偶路的最小值。设到jij_iji​的偶路的贡献记做oddjiodd_{j_i}oddji​​,奇路的贡献记做evenjieven_{j_i}evenji​​,那么答案可以表示为min(max(oddji),max(evenj,i))=m

2021-08-17 20:20:06 60

原创 P4396 [AHOI2013]作业

题目题目思路看见这种多测+无修改+不强制在线的就可以莫队。然后这里询问的东西和数值有关,所以是值域分块所以这破题是莫队套分块?莫队就是大家耳熟能详的莫队,分块就是大家耳熟能详的分块……莫队是没什么好说的,就老老实实搞值域分块的时候也是老老实实搞 就是要存3个:单点个数,块个数,块数值个数另外排序询问用的分块是输入序列分块,值域分块是值域分块,不要搞混了话说这应该就我一个错code:#include<cstdio>#include<cstring>#inclu

2021-08-07 18:26:54 57

原创 P6466 分散层叠算法(Fractional Cascading)

题目题目思路突然良心发现决定写下简略题意:求x在k个有序序列里所有的后继多次询问,强制在线所以这题的做法显然是由裸暴力和一个预处理爆炸的算法合并得到的裸暴力不用说,是时间O(1)−O(klog⁡n)O(1)-O(k\log n)O(1)−O(klogn),空间O(nk)O(nk)O(nk)的,时间炸了预处理爆炸的,是时间O(nk)−O(log⁡n+k)O(nk)-O(\log n+k)O(nk)−O(logn+k),空间O(nk2)O(nk^2)O(nk2)的,空间炸了仔细思考预处理爆炸

2021-08-06 19:18:43 288

原创 P2596 [ZJOI2006]书架

题目题目思路很恶心的FHQTreap,话说出题人好像是打算考Splay来着?没事,反正出题人可能卡不了FHQTreap连权值线段树,文艺平衡树,普通Treap都能过,这题写FHQ已经很给出题人面子了……相比普通FHQTreap不能说毫无变化,至少也是一模一样……唯一一个稍微有点用的思想就是用个map(数组也一样)来记录编号与平衡树里节点编号对应关系。然后这题需要一个求rank的函数总体来说就是一堆封装程度极高的玩意拼在一起……记个知识:函数参数可以在定义时设初始值,效果未知,这里也是随便乱

2021-08-04 20:11:23 85

原创 《ybtoj金牌导航》第三部分第二章习题1 卖猪问题

题目大意尼克在一家养猪场工作,这家养猪场共有 M 间锁起来的猪舍,由于猪舍的钥匙都给了客户,所以尼克没有办法打开这些猪舍。有 N 个客户从早上开始一个接一个来购买生猪,他们到达后首先用手中的钥匙打开他所能打开的全部猪舍,然后从中选取他要买的猪,尼克可以在此期间将打开的猪舍中的猪调整到其它开着的猪舍中,每个猪舍能存放的猪的数量是没有任何限制的。买完猪后客户会将他打开的猪舍关上。好在尼克事先知道每位客户手中有哪些钥匙,要买多少猪,以及客户到来的先后次序。请你写一个程序,帮助尼克求出最多能卖出多少头猪。思路

2021-07-20 21:44:48 176

原创 P3165 [CQOI2014]排序机械臂

题目题目思路FHQTreap不能处理既要权值分裂,又要排名分裂的情况,所以我们按排名分裂,先预处理出排名,接下来权值就不重要了code:#include<cstdio>#include<cstring>#include<algorithm>#include<string>#include<iostream>#include<cstdlib>using namespace std;inline int read()

2021-07-20 21:14:52 72

原创 P2042 [NOI2005] 维护数列

题目题目思路这题比文艺平衡树还板子……直接FHQ啊,就是要加一个垃圾栈(你没有看错,我也没有打错,就是垃圾栈来对空间重复利用code:#include<cstdio>#include<cstring>#include<algorithm>#include<string>#include<iostream>#include<cstdlib>using namespace std;inline long long

2021-07-20 16:44:14 55

原创 P3391 【模板】文艺平衡树

题目题目思路FHQtreap板子,直接上代码code:#include<cstdio>#include<cstring>#include<algorithm>#include<string>#include<iostream>#include<cstdlib>using namespace std;inline int read(){ int ret,c,f=1; while (((c=getc

2021-07-20 11:33:11 63

原创 P7725 珍珠帝王蟹(Crab King)

题目题目思路背景好评!图片……看起来像个难以言述的玩艺显然是个结论贪心先考虑题目阉割版:无负数乘法显然是正数和*乘法积-负数和那么现在加入负数乘法为行文方便,设正数和为zadzadzad,负数和为fadfadfad,最大负数乘法参数为mxfmxfmxf,除mxfmxfmxf外的乘数积为cfcfcf拼音+英文当然发现负数乘法有偶数个时,负负得正是最优的同时当一个数的绝对值更大时,若结果可以为正,当然要乘更多的数所以结果为(不取模)(zad∗mxf+fad)∗cf(zad*mxf+fad)

2021-07-18 22:02:49 177

原创 P3195 [HNOI2008]玩具装箱

题目题目思路来纪中第一题,献给斜率优化dp大法,dpnb!!!论与wyc和xjq住在一个宿舍是什么感受本题解也许会详细一点实际上本题属于一个计算几何题……先来个暴力方程,设Si=∑j=1i(Ci+1)S_i=\sum_{j=1}^i(C_i+1)Si​=∑j=1i​(Ci​+1),又设fif_ifi​为前i个中的最优解,则有:fi=min(fj+(Si−Sj−1−L)2)(1<=j<i)f_i=min(f_j+(S_i-S_j-1-L)^2)(1<=j<i)fi​=

2021-07-11 22:05:18 85

原创 P4971 断罪者

题目题目思路本文红楼梦\color{black}{本文红楼梦}本文红楼梦显然左偏树,注意自从本题从black变成purple,就出现了啃 垦 坑人的特点:权值相等比编号大小code:#include<iostream>#include<cstdio>#include<algorithm>#include<string>#include<cstring>#include<cmath>#include<que

2021-07-08 10:51:42 158

原创 P3377 【模板】左偏树(可并堆)

题目题目思路显然左偏树板子。所谓左偏树,就是具有左偏性质的二叉树,主要操作有:在指定集合插入一个元素查询指定集合最…的元素删除指定集合最…的元素删除给定下标的元素合并2个集合注意,这里的合并操作是O(logn)具体怎么做呢?首先,树该有的左右儿子,键值,父亲节点都要有。同时我们定义disidis_idisi​为i到其子节点的最近叶节点的距离那么左偏树满足:键值有序左子节点距离>=右子节点距离左偏树合并使用递归完成。显然,A,B合并,边界情况即其一为空,不妨设B

2021-07-07 21:05:30 154

原创 P2517 [HAOI2010]订货

题目题目思路正常费用流s连所有月份,容量inf,费用为进货费用。每一个月份向下一个连边(最后一个除外),容量S,费用为m。每一个月向t连边,容量为卖货量,费用0(免费卖货)code:#include<iostream>#include<cstdio>#include<algorithm>#include<string>#include<cstring>#include<cmath>#include<qu

2021-06-19 15:10:33 79

原创 P4195 【模板】扩展BSGS

题目题目思路先把exBSGS变成普通BSGS。我们这样做:ax≡b( mod  c)=>ax+cy=ba^x\equiv b(\bmod~c)=>a^x+cy=bax≡b(mod c)=>ax+cy=b接下来我们不停地除a,c的最大公约数(d1)。b1=ad1ax−1+c1yb_1={a\over d_1}a^{x-1}+c_1yb1​=d1​a​ax−1+c1​y我们接下来接着除gcd(a,c1)=d2b2=a2d1d2ax−2+c2yb_2={a^

2021-06-19 11:54:48 120

原创 P2223 [HNOI2001]软件开发

题目题目思路HN省选(海南?湖南?河南?)出重题……where’re your faces?这里只需要把明天改成今天即可。code:#include<iostream>#include<cstdio>#include<algorithm>#include<string>#include<cstring>#include<cmath>#include<queue>#include<deque&

2021-06-19 09:44:56 84

原创 P2488 [SDOI2011]工作安排

题目题目思路观察到题目中的一个美好性质:Wi,jW_{i,j}Wi,j​随j递增。我们是spfa贪心求解,所以我们可以这样建边:s到每个工作连容量CiC_iCi​,费用0的边。每个工作和人按给的可达矩阵建容量1e8(inf),费用0的边。每个人向t连容量为分段长度,费用为分段愤怒的边。Wi,jW_{i,j}Wi,j​随j递增可以保证我们在Wi,jW_{i,j}Wi,j​被流过时,Wi,j−1W_{i,j-1}Wi,j−1​一定被流满了。接下来Dinic+spfa。code:#inclu

2021-06-19 08:53:48 98

原创 P2762 太空飞行计划问题

题目题目思路显然网络瘤。建超级源,超级汇。超级源连线实验,流量为获利。实验连器材,流量inf。器材连超级汇,流量为费用。考虑最小割。则总收益-最大流为答案。code:#include<iostream>#include<cstdio>#include<algorithm>#include<string>#include<cstring>#include<cmath>#include<queue&g

2021-06-18 20:49:08 57

原创 《ybtoj金牌导航》第八部分第五章例题1 彩色项链1

题目大意将nnn种颜色的珠子连接在一起形成一条由nnn个珠子组成的圆形项链。你的工作是计算可以生产多少种不同的项链。一串项链可以不用上全部颜色的珠子。两条项链相同,当且仅当两条项链旋转后能重合在一起,且对应珠子的颜色相同。你需要将答案对一个给定的数字ppp取模。多组数据。n<=1e9思路polya定理。但n的范围过大,所以我们需要优化。L=1n∑0<k<nngcd(k,n)L={1\over n}\sum_{0<k<n}n^{gcd(k,n)}L=n1​∑0&

2021-06-18 19:27:22 250

原创 《ybtoj金牌导航》第八部分第五章例题2 彩色项链2

题目给定 mmm 种颜色的珠子,每种颜色珠子的个数均不限,将这些珠子做成长度为 nnn 的项链。问能做成多少种不重复的项链。两条项链相同,当且仅当两条项链通过旋转或是沿中轴线翻转后能重合在一起,且对应珠子的颜色相同。多组数据n<32,m<32思路polya计数定理。先考虑旋转。旋转共n种置换,第i种的轮换个数为gcd(n,i)接下来是对称。对称分奇偶性讨论奇数部分有nnn种置换,轮换个数均为(n+1)/2(n+1)/2(n+1)/2。偶数部分又分2部分第一部分以中线对

2021-06-15 21:16:31 261

原创 P4727 [HNOI2009]图的同构计数

题目题目思路这是here的简化版,把m换成了2注意long longcode:#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#include<cstring>using namespace std;long long a[80],ans,n,b[80]; long long ksm(long long x,long long y){

2021-06-15 20:49:17 156

空空如也

空空如也

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

TA关注的人

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