自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Melancholy的博客

Avicii Forever

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

原创 训练原则:

训练原则:1.模拟要紧张起来,当做实战2.每题必须想透,想一个小时才能看题解3.少说话,卷起来4.看题解是不许看代码5.做题是要计时间

2021-10-25 21:21:24 149

原创 洛谷P3605 [USACO17JAN]Promotion Counting P

洛谷P3605 [USACO17JAN]Promotion Counting P题目传送门思路:这道看起来很想线段树合并和树上启发式合并的题,而且也确实能这么做。但是这两种做法实现起来却并不简单。于是我们考虑用实现简单好理解的 dfs+dfs+dfs+ 树状数组实现。树状数组肯定是用来求逆序对的,所以先要离散化。设 ansians_iansi​ 表示 iii 节点的答案,那么 ansians_iansi​ === 加上 iii 的子树后比 iii 强的 −-− 原先就比 iii 强的。这一步

2021-11-18 10:42:54 233

原创 NOIP 2021 退役记

NOIP 2021 退役记

2021-11-17 23:24:21 531 1

原创 CF819E Mister B and Flight to the Moon

CF819E Mister B and Flight to the Moon题目传送门思路:构造乱搞题……对于已经有 nnn 个点无向完全图,我们考虑最后加入的两个点 uuu 和 vvv 会连出什么类型的边。∀i∈[1,n−2],∃u↔i\forall i\in[1,n-2],\exists u\leftrightarrow i∀i∈[1,n−2],∃u↔i∀i∈[1,n−2],∃i↔v\forall i\in[1,n-2],\exists i\leftrightarrow v∀i∈[1,n−

2021-11-15 18:17:13 790

原创 CF1137C Museums Tour

CF1137C Museums Tour题目传送门思路:带阴间题这题关键在于想到建分层图。我们设第 iii 层的 nnn 个点表示星期 iii 的 nnn 个博物馆的 0/10/10/1 状态。建图的时候对于一条边 (u,v)(u,v)(u,v),我们从第 iii 天的 uuu 连向第 i+1i+1i+1 天的 vvv。然后对于这个图进行缩点(这还挺显然的 ),再对于这个 DAGDAGDAG 跑一个最长链就好啦!但有一些细节,怎么判断同一个 uuu 在 i,ji,ji,j 两天有没有重复计算

2021-11-15 17:35:48 104

原创 CF453C Little Pony and Summer Sun Celebration

CF453C Little Pony and Summer Sun Celebration题目翻译:给一个无向图,nnn 个点 mmm 条边,给定一个 010101 序列,如果 ai=1a_i=1ai​=1,要求走到这个点奇数次,否则,要求走到这个点偶数次,请你任选起点,输出满足要求的经过点的序列和序列长度,序列长度不能超过 4×n4\times n4×n。题目传送门前置芝士:0是偶数(或为此题最大难点思路:知道了前置芝士,就知道若图不连通且两个连通块内都有要求经过奇数次的点时无解,连通图一定有

2021-11-12 15:52:34 351

原创 CF850D Tournament Construction

CF850D Tournament Construction题目传送门挺难的一道构造题。题目大意:给定 mmm 个数的一个非负整数集合,不超过 303030。你需要构造一个竞赛图,满足:所有点的出度去重后等于该集合。m≤31m≤31m≤31前置芝士:兰道定理(Landau’s Theorem):设点 iii 的出度为 did_idi​,那么对于任意 1≤i≤n1≤i≤n1≤i≤n,有∑j=1idi≥i×(i−1)2∑^i_{j=1}d_i≥\frac{i\times(i−1)}{2}∑j=1i

2021-11-12 15:35:14 396

原创 CF720C Homework

CF720C Homework题目传送门题目描述:今天Peter有一项额外的作业:老师给定三个字母 nnn,mmm,kkk。需要在一个 n×mn\times mn×m 的网格当中标记一些方格。要求至少要标记一个方格,标记的所有方格必须形成一个联通块,且标记的方格中必须恰好包含 kkk 个"L"形(即在一个 2×22\times22×2 的方格中标记了3个方格所形成的图形)。Peter不能完成这项作业,因此向你求助。请帮助他构造出这样的一个图形。输入格式:输入的数据包含一组或多组数据。第一行包含一

2021-11-11 16:13:27 215

原创 CF600F Edge coloring of bipartite graph

CF600F Edge coloring of bipartite graph题目传送门挺好的构造题有一个结论:二分图的最小边染色结果等于点的最大度数。这个结论挺显然的,就不证了。然后我们考虑怎么构造:对于有连边的两点 xxx 和 yyy,为了使颜色尽可能小,我们定义 mex(x)mex(x)mex(x) 为 xxx 这个点没有使用过最小的颜色。那么对于 mex(x)=mex(y)mex(x)=mex(y)mex(x)=mex(y) 的情况,我们直接把这条边染成 mex(x)mex(x)mex

2021-11-11 15:40:46 296

原创 CF508D Tanya and Password

CF508D Tanya and Password题目传送门这道看似是字符串的题居然是图论我们把每个字符串的前两个字符和后两个字符看作点,并建边然后跑欧拉路径即可有一处小细节:就是欧拉路径的起点初始不能赋成 000 而要随便赋一个存在的点然后后面再更新因为可能形成一个环,造成 RERERE卡了我一个点嘤嘤嘤代码:#include<bits/stdc++.h>#define freo(a) freopen(a".in","r",stdin),freopen(a".out",

2021-11-10 10:53:11 421

原创 CF483C Diverse Permutation

CF483C Diverse Permutation题目传送门题意翻译:构造一个长度为n的排列,使得集合 {∣pi−pi+1∣}\{|p_i-p_{i+1}|\}{∣pi​−pi+1​∣} 的大小为 kkk 。n<=105n<=10^5n<=105思路:构造题简化问题,我们考虑怎么用 k+1k+1k+1 个数构造出答案,这样剩下的数从小到大放就可以了显然我们可以这样构造:ai=ai−1+(k−i+1)(i%2=1)a_{i}=a_{i-1}+(k-i+1)(i\%2=1)a

2021-11-10 10:43:13 291

原创 “李华”模拟赛总结

“李华”模拟赛总结之前教练一直让我们在打模拟的时候要尝试各种策略。今天模拟赛尝试了新的策略,所以写一篇博客总结一下。赛时:发题之后还是先都看一遍T1可写30分暴搜T2好像是马拉车算法,值得好好思考T3类似背包?T4暴力可过30,正解数据结构?然后根据我对代码难度的判断我决定先开T4T4按照以往的套路应该先写暴力(此时过去0.5h)但是我这次想尝试一下先想正解可以发现小H的冒泡排序就是对奇位和偶位分别排序那么如果某一个奇位数字之前有偶位数字比他大,那么排序失败偶位同理然后考虑

2021-11-08 13:50:43 76

原创 对拍 详解

对拍详解对拍是算法竞赛中除了瞪眼法以外 最有效的 debugdebugdebug 利器它可以通过随机数据大体验证算法的正确性比测大水样例有效多了这里我拿洛谷P3628 [APIO2010]特别行动队(一道斜优板子)作为例题要想对拍,首先你需要准备:一个写好的暴力(一定要保证正确)一个写好待测的正解一个datamaker一个checker暴力:写出暴力是对拍的必要条件对于例题我们需要先写一个暴力 dpdpdp代码:#include<bits/stdc++.h>#

2021-11-06 23:21:43 6924

原创 洛谷 P4200 千山鸟飞绝&&平衡树

洛谷 P4200 千山鸟飞绝&&平衡树题目传送门题目十分阴间……是一道练习平衡树的好题。我们可以看到题目描述得天花乱坠,其实只需要对于每只鸟所在的坐标维护一颗splay就好了。注意是对每只鸟所在的坐标,不是每个坐标。我们需要维护的信息是最大团结值和 sizsizsiz 和最大威武值和 valvalval。为此需要维护两个懒标记,一个记录 sizsizsiz,一个记录 valvalval。然后在 splaysplaysplay 的过程中下传标记维护即可。数据范围过大,所以需要

2021-10-29 07:51:28 190

原创 洛谷P4402 [Cerc2007]robotic sort 机械排序&&平衡树

洛谷P4402 [Cerc2007]robotic sort 机械排序&&平衡树整整调了一下午……嘤嘤嘤虽然都说是文艺平衡树的板子题但是我觉得思路也并不是很板子在维护平衡的时候不是以数值,而是以位置为权值维护一颗splay。 翻转的时候就把第i个数的提到根,看它的左儿子的大小即它前面的数的个数。 然后模拟题目中说的操作,把i-1提到根,再把i的后继提到i-1的下面中间夹的就是 i−1i-1i−1 ~ iii 了其中rotaterotaterotate操作有亿些细节加深了我对文艺平衡

2021-10-28 08:50:32 93

原创 CSP2021提高组游记

CSP2021提高组游记艰难地开始写这篇博客因为真的不想面对但又不得不面对或许……这就是人生吧无数次的想要逃避最终却又选择坚持虽然知道这样我会很累但……这就是我的人生!赛前:早上又把之前复习的板子和写过的模拟赛总结过了一遍中午吃了一些面条然后12:00出发去考场大概12:40到了大连大学和同学碰面之后莫名其妙开始讨论CRT怎么写我赶紧在脑子里过了一遍CRT呼……还好没忘然后又讨论可能会出矩乘的题我心想要是真出就好了,矩乘是我最擅长的算法之一本来1:30说要进去试机结

2021-10-24 11:41:27 277

原创 高精度模板

高精度模板学OI一年了才写完自己的高精模板之前一直用别人的这里只写了考试可能用的加减乘除至于取模什么的考试我根本不可能写 ,就不放了#include<bits/stdc++.h>#define ll long long#define freo(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout)using namespace std;const int maxn=10090;struct haa{ int

2021-10-22 23:19:32 112

原创 十一长假模拟DAY2

十一长假模拟DAY2模拟前一天把上次模拟T2转移矩阵推了一下,感觉没什么难度……再加上lb昨天讲得矩阵感觉听得挺明白,让我一下对于矩阵乘法十分有信心就等今天铆足劲用一下(捂脸赛时:昨天晚上一不留神睡得有点晚……早上来就不太清醒QAQ拿到题还是遍历T1T1T1……嚯!图论!然后手推了一下样例,没推出来……然后看数据范围好像60分还挺水的T2T2T2……应该是推一个递推式,然后矩乘转移可过80,正解应该是求通项或者生成函数什么牛马反正我不会T3T3T3……woc!递推式都给出来了!矩乘一下

2021-10-07 12:56:25 83

原创 十一长假模拟Day1

十一长假模拟Day1十一长假集训五天,说实话没七天全集训我已经很满足了……五天安排两场模拟也算合理,毕竟我已经做好了连续模拟5天的准备……早上特意提前7:30到机房,结果8:30才开始……这次模拟是3.5h3道题时间相对以前4h4题较宽松赛时:拿到题还是先开始遍历T1T1T1……暴力全排列有20,然后m==0应该有个什么规律,花点时间推一下应该能再过20T2T2T2……暴力数位dp!!!过60多香呀!!!正解应该是生成函数?不管了反正我不会……T3T3T3……O(n3)O(n^3)O(n

2021-10-04 22:49:48 78

原创 YBTOJ AK祭!!!

YBTOJ AK祭!!!差一道实在不会了……等回头于大佬讨论之后再补吧我无法确定前路光明与否,我能做的只有埋头向前!

2021-10-03 23:22:36 77

原创 一些挤压很久的心里话

一些挤压很久的心里话这篇博客不是题解也不是总结只是说点心里话排解正式学OI也一年多了(之前零零散散得学了一些语言基础)。还记得去年的8月31日,gg把几个提前学过的叫到机房。当时我还不想去,因为听说竞赛路十分难走。勉强去了之后gg给我们讲了于神等神犇的事迹,当时就燃起了我内心的希望,从此正式决定走上OI这条路。然后就是csp,csp之前因为听gg说之前每年都有高一拿省一的,我还想着拿省一呢……结果自然是十分悲惨csp考完我已经自作多情地把当时参加csp的7个人当成了明年省队的竞争人选zhj,qy

2021-10-01 22:14:56 278 2

原创 2021.9.25长乐模拟

2021.9.25长乐模拟昨天模拟现在才写总结……订正订了一整天赛时:早7:30到机房今天模拟有预告,所以并不很紧张昨晚还看了看关于换根dp的东西拿到题就开始遍历T1T1T1……嗯?!!!做过原题!!!切了切了!!!T2T2T2……能想到的思路只有枚举3n3^n3n枚举每种状态,能过30分T3T3T3……只有暴力n3n^3n3的思路,n2n^2n2做法好像可以dp,可以冲一下T4T4T4……暴搜2n2^n2n能过15吧此时过去30min然后按照gg的教诲能切的题应该放在最后于是我

2021-09-26 20:45:34 91

原创 “再见OI”模拟赛

“再见OI”模拟赛下午在机房快乐划水的时候被抓去打模拟……然后爆零呜呜呜赛时:一看表下午4:00,这要是打模拟什么时候吃饭呀 无奈开始遍历一看题目就知道是宋队出的……T1:T1:T1:……应该是要找个规律?暴力构造矩阵然后统计能过60,然后特判k==1又能水20……吧T2:T2:T2:……好像是图上的一些统计,没啥思路,放最后吧T3:T3:T3:期望这块不太明白,但是好像就是累加然后除以mT4:T4:T4:线段树上的操作,好像能切吧此时过去30min然后按顺序先开T1开始就遇到一个巨大

2021-09-24 10:59:02 118

原创 YBTOJ权值统计

YBTOJ权值统计注意:此题答案需要对10086取模,但题里没说!!!题意很清楚了,要求每个条路径的权值积的和明显的树形dp我们设dpudp_{u}dpu​表示以u为根的子树内路径权值积的和对于点u有两种情况:u位于一条路径的端点比如说在这条红色路径上,2号点就是11->2这条路径的端点u位于一条路径上比如在这条红色路径上,2号点位于6->5这条路径上对于情况1,很明显答案就是dpudp_{u}dpu​对于情况2,路径的权值积就是lsonlsonlson×rsonr

2021-09-14 09:44:34 137 1

原创 YBTOJ3的倍数(数位dp)

YBTOJ3的倍数(数位dp)这应该是全网唯一一篇这道题的题解了吧……ybt上的题解写的真的不是人话……首先明确几个概念:按位或:两数对应位中有一个是1结果就为1一个数满足是3的倍数,当且仅当其奇数位上的1与其偶数位上的1在模3的意义下相等容斥原理因为看到3的倍数要考虑二进制下1的位置,所以我们先要把t二进制拆分一下并统计出其奇位1和偶位1的个数然后我们考虑容斥,枚举某些位的或结果本该为1(即t二进制下为1的位数),我们强制让它或的结果为0(即枚举时枚举0的位数),并统计方

2021-09-12 20:34:33 241

原创 YBTOJ图上查询(倍增)

YBTOJ图上查询倍增板子题,但是出了一些奇怪的锅在这里:if(k&(1ll<<j))这里如果不加1ll的话会出现奇怪的结果……在这里浪费了好长时间思路的话……不会的去看书吧QAQ,真的不难蒟蒻懒得码字了呜呜呜#include<bits/stdc++.h>#define ll long longusing namespace std;const int maxn=1e5+5;ll n,k,s[maxn][40],m[maxn][40],d[maxn

2021-09-08 19:01:29 138 1

原创 YBTOJ200题祭!

YBTOJ200题祭!感觉自己越来越强了QAQ

2021-09-07 18:42:27 64 1

原创 YBTOJ秘密邮件(树状数组)

YBTOJ秘密邮件解法:以上纯属水长度看到相邻交换可以想到逆序对。但是把串一对应字符按升序映射到串二有一些思维含量AC代码:#include<bits/stdc++.h>#define int long longusing namespace std;const int maxn=1e6+5;char ch1[maxn],ch2[maxn];int n,tree[maxn],t[30][maxn],a[maxn],ans,tmp[30];int lowbit(int

2021-09-07 18:39:55 109

原创 YBTOJ内存管理(堆的应用)

YBTOJ内存管理内存管理题解那个什么优化朴素的方法就不讲了……实在阴间,面向数据编程用一个优先队列维护内存块编号是肯定的但是如何记录时间呢?容易想到再用一个优先队列维护时间但是这里有一个重点:我们不能只用一个优先队列维护时间,因为每次时间改变之后我们要弹出的是时间被修改的那一块,而不是仅仅简单地弹出队首!!!所以只能再开一个数组存每个块被占用了多少次,次数为0时才能弹出这里手写堆的优势就体现出来了,它可以精准删除一个元素,而且常数还小!然而码量太大我懒得敲然后我们发现这个维护时间的

2021-09-07 08:37:14 126

原创 YBTOJ软件安装&&洛谷P2515(强连通分量)

YBTOJ软件安装&&洛谷P2515题目传送门思路:强连通分量+树形DP首先对于每个i,从Di向i建一条有向边。在这里我们发现,依赖关系可以形成环。对于一个环,里面的节点要么都选,要么都不选。所以,这里先tarjan强连通分量缩点,构成一个新图,这样新图里的每一个节点可以看成一个整体考虑(因为对应的原图里的节点要么选要么都不选)。然后新建一个虚拟节点,向...

2021-09-06 18:47:58 122

原创 多校模拟 DAY2

多校模拟 DAY2本来应该昨天写的……忘了今天这个模拟赛有预告,所以早上到机房的时候心态还是比较好拿到题之后还是先遍历一遍T1……嚯!暴力n^2能过60?真香!T2……嚯!暴力n^2能过30?还挺香!T3……暴力Floyd倒是能水30,但是没删边的另30分好像也可做?T4……毫无头绪QAQ(此时过去15min)然后我决定T1T2就写暴力了因为这两道题目测应该是数学题然鹅我的数论水平基本停留在能看懂题解T3T4好像更可做,可以多花点时间研究于是开T1T215min写完调完两道题

2021-09-06 11:49:01 72

原创 YBTOJ通讯问题(强连通分量)

YBTOJ通讯问题思路:以上纯属水博客有强连通分量这个算法提示,思路应该不难想但是有一个小细节我们枚举入边的时候要缩点之后反向建图,然后枚举出边我没建反图调了一辈子AC代码:#include<bits/stdc++.h>#define int long longusing namespace std;const int maxn=5e4+5,maxm=1e5+5;int n,m,bcnt,ecnt,tmp,cnt,st[maxn],top,head[maxn],hea

2021-09-06 11:02:20 156

原创 多校模拟 DAY1

多校模拟 DAY1今天早上先到教室,想等班主任来了签一下停课协议等了10min没等到,就先去机房了……本来昨天群里通知今天晚上6:00到9:00有场模拟赛我打算白天时间就快乐刷最小生成树结果进门就撞见一个模拟……好吧无奈开始看题T1好像是个递推说不定是卡特兰数之类的数列,可以花大时间推一下看数据范围肯定得矩阵优化,到时候试着搞一搞,能写就写,不能就拿40分部分分T2是一个矩阵什么操作第一想法就是暴力O(n^2m)模拟,然后优化好像可做,可以多花点时间搞一搞T3……独立集是啥…

2021-09-04 23:02:47 61

原创 CSDN100原创祭!!!

CSDN100原创祭!!!现在基本上是学OI整一年本篇为CSDN第100篇原创隔壁范巨巨都150了,o(╥﹏╥)o

2021-09-03 22:21:51 57

原创 YBTOJ数列询问(并查集)

YBTOJ数列询问这道题放在并查集里属实阴间……刚看题觉得和并查集什么关系都没有……暴力的话比较简单,枚举说的话然后暴力判断即可然后考虑优化首先区间和就可以用一步前缀和预处理优化然后想到可以用并查集维护这个前缀和数组很明显,如果l-1和r不在同一个集合中,那就将两个集合合并并修改边权。如果l-1和r在同一个集合里,就判断两者的差是否合法即可。AC代码:#include<bits/stdc++.h>using namespace std;const int maxn=1e

2021-09-03 22:19:29 113

原创 集训日记:DAY10

集训日记:DAY10为什么昨天没写日记?因为玩嗨了……昨天下午回到家意外得知有个同学聚会,去了回来就11:00了……看了会手机就睡觉了集训终于结束了啊!!!可以休息几天了这10天的膜你赛让我的实力有了很大提升无论是考试策略还是代码能力都有进步昨天依旧是8:00开始本来就是最后一天,考的还是我完全不会的构造题之前听都没听说过……更别提会做了……按照之前的策略还是先遍历一遍T1……什么鸡掰题乱糟糟的……T2暴力!枚举!yyds!T3没思路……欸!可以固输-1!!!T4这有点像汉诺塔

2021-08-19 10:26:56 75

原创 集训日记:DAY9

集训日记 DAY9集训还有1天啊!!!今天考数论,我抱着视零如归的心态进入机房因为我的数论水平仅停留在能看懂题解……还是老规矩先遍历T1……这什么玩意???看着像个好麻烦的递推???T2像输油管道问题(雾,没啥思路……T3这个我认识,是博弈论,好像是有向图游戏???我不会写呀……T4一头雾水,除了暴力枚举系数没什么思路……(此时过去10min)又重新审视了一下4道题想先推一下T1,如果到30min没退出来就放……看了5min之后发现:这好像是Catalan数???然后手推了一下

2021-08-17 23:44:02 75

原创 集训日记:DAY8

集训日记 DAY8今天打疫苗第二针,本以为今天能放假,所以昨晚关于树的东西一点没看……今天直接爆炸……还是我菜集训还有两天啦!!!hwzer加油!!!你能撑住!!!勇敢哲哲,不怕困难!!!突然抽风?(雾今天来到机房本以为应该没有膜你赛了那么多人要中途出去打疫苗结果……“题发下去了。”我tm!!!玩几把蛋于是无奈只好开始遍历……T1就不会……好家伙数的直径???我连怎么求都不会更别提再加上什么变化了……先放着最后再想……T2好家伙是宇智波闰土?(雾读完题依旧没什么思路……T3题面

2021-08-16 22:05:34 93

原创 集训日记:DAY7

集训日记 DAY7盼星星盼月亮终于盼到图论,结果……爆零这全都归功于一款名叫DEV C++的IDE(具体看后文)集训还有3天,真的难顶……依旧是熟悉的8:00发题,熟悉的遍历T1……梦回字符串?这和图论有什么关系……难道是要把字母当成节点连起来???再一看发现如果前一个字符的后两个和后一个字符的前两个相同就可以把他们连起来,然后一次枚举起点好像就可以T2……用并查集搞一搞?但是判断一个点与集合中所有的点都认识有点难办T3……还是并查集?按天把道路合并然后查找s,t在不在同一集合?T4……

2021-08-15 23:35:48 80

原创 集训日记:DAY6(七夕特别篇)

集训日记 DAY6(七夕特别篇)今天是七夕,初中同学组织团建,朋友圈一堆秀恩爱的而苦逼信竞人却只能早起到学校考试……昨晚睡得晚,到学校了还不太清醒考得是我还最不会的字符串,直接拉胯今天早上一去机房网就坏了,这使得我考前临阵磨枪的希望破灭了题发下来还是先O(4)遍历T1应该是用字典树搞一搞?T2这好像是kmp裸题,可做,有望切掉T3这好像是字典树模板?T4毫无思路,不可做直接弃掉(此时过去15min)因为T1T2T3我都想试试能不能切,所以决定均匀分配时间本来想先开T1,但是感觉实

2021-08-14 22:56:47 115

空空如也

空空如也

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

TA关注的人

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