2019年一月刷题列表

Preface

新的一年来了,像我这样的菜鸡马上就要褪去初中蒟蒻的身份成为一名高中蒟蒻了。

\(WC\)没得去,只能在机房苟着\(ZJOI\),还是不要放弃希望吧。

老叶说省选如果可以水到全省前40(不存在的)可能可以去SC

不管了反正还没有退役,争取苟活吧。


List

  • 【pG&&CYH-01】元旦联欢会 最近不知道刷什么题所以就撸一撸比赛。主要没什么时间打,随便找了几个简单的写了写,实际打了1h左右吧,莫名rank9。赛后发现这个团队里有好多dalao,所以搞了搞加了进去。还出了一道水的一批的题
    • T1:Luogu P5173 传球 考试的时候胡了一个循环矩乘优化递推的东西,发现复杂度\(O(n^2\log m)\)似对非对所以就去开其它题了。实际上这就是正解,不过还需要加一个行内对称的性质才能A
    • T2:Luogu P5174 圆点 感觉十分轻松啊,出题人给的方法太麻烦。考虑直接\(O(\sqrt R)\)枚举横坐标,那么显然纵坐标在一个范围内。稍微推一推式子就切掉了。
    • T3:Luogu P5175 数列 套路的矩乘题。我们考虑一下\(a_i=(x\cdot a_{i-1}+y\cdot a_{i-2})^2=x^2\cdot a_{i-1}^2+2xy\cdot a_{i-1}a_{i-2}+y^2\cdot a_{i-2}^2\),所以只需要记录一下\(a_{i-1},a_{i-2},a_{i-1}a_{i-2}\)和答案即可。\(a_{i-1}a_{i-2}\)的转移类似,稍微推一下就好了。有点卡常,可以考虑矩乘最后再取模。
    • T4:Luogu P5176 公约数 套路的拆\(\gcd\),最后搞出一堆式子的平方。好像可以计算出狄利克雷卷积然后计算,留着以后写。
    • T5:Luogu P5177 签到 对于每一个数,那么可以和它计算贡献的显然是减去二进制下最高位上的数之后剩下的部分。(我刚开始写数位DP的时候想复杂了,直接算每一位的贡献,像个ZZ)。如果裸数位DP上去\(O(T\log n)\)只有\(90pts\)。考虑打表出所有\(2^k\)的答案,那么每次可以二分找到最大的\(k\)那么剩下的就是等差数列求和了。
    • T6:Luogu P5178 求和 这题有这么恐怖么。其实稍加分析我们可以发现这个递推式和杨辉三角的相似处,并且我们如果让\(a_{n+1}=x_0\)就可以发现\(ans=\sum_{i=1}^{n+1} (C_{n+2}^{n+2-i}-1)\cdot a_i\),然后区间修改的话记一个前缀和即可。注意最大坑点:两个模数范围内的数相加会爆\(int\)
  • Luogu P5168 xtq玩魔塔 这场比赛的题貌似都挺好的可惜我没有打。考虑从某个点走到其它点的边权最小值?不就是个克鲁斯卡尔重构树么。建出来之后我们发现可以直接倍增上去找到可以到达的点在DFS序上的区间。然后就是区间带修数颜色,带修莫队即可(因为保证操作随机)。 sol
  • Luogu P4091 [HEOI2016/TJOI2016]求和 最近准备多做做多项式?考虑用容斥暴力展开第二类斯特林数和组合数即可。推到后面容易发现要求的\(g_i=\sum_{j=0}^i \frac{(-1)^j}{j!}\cdot \frac{\sum_{k=0}^n (i-j)^k}{(i-j)!}\)是个明显的卷积形式,等比数列展开即可。
  • Luogu P4491 [HAOI2018]染色 考虑答案的上界为\(min(m,\frac{n}{s})\),那么考虑容斥计算。先算出出现\(S\)次的yanse至少\(i\)种的方案数,然后钦定\(i\)种颜色正好放\(S\)种。用排列组合算一下再把式子和广义容斥拆开发现类似于Luogu P3338 [ZJOI2014]力的做法。翻转其中一个序列再NTT即可。
  • Luogu P2289 [HNOI2004]邮递员 不错的插头DP。先考虑使用最小表示法记录插头,但是状态太多。发现对于同一个联通快其实只有左右两个插头。所以可以用类似于括号序列的方式表示。手写一个Hash表可以大大加快速度。然后还要记得写高精
  • HDU 5829 Rikka with Subset 沉迷多项式无法自拔。考虑分别计算每一个数的贡献,那么把数从大到小排一遍,第\(i\)个数的贡献就是\(\sum_{i=1}^n C_{k-1}^{i-1}\cdot 2^{n-i}\cdot a_i\)。展开之后又是翻转+NTT
  • Luogu P4173 残缺的字符串 暑假就写过,但是当时没交BZOJ权限。发现Luogu上有了这题就重写了一遍。考虑让\(*\)\(0\),定义距离函数\(\operatorname{dis}(i,j)=\sum_{k=i}^j(a_k-b_k)^2a_kb_k\),在第二个串里枚举结尾的位置,暴力把平方展开发现还是翻转+FFT。常数略大。
  • BZOJ 4589: Hard Nim 首先Nim游戏的结论相信大家都知道,所以本题其实是求\(n\)堆石子中(每堆石子个数为素数)找出所有异或和\(0\)的方案。考虑最简单的生成函数,发现这个其实就是当两个下标异或时的卷积。标准的FWT形式!直接变换之后快速幂即可。
  • 51nod 1514美妙的序列\(f_i\)为长度为\(i\)时不满足条件的序列的方案数。考虑补集转化,用\(i!\)减去不合法的。稍加分析我们发现不合法的一定是满足一个断点\(pos\),使得\([1,pos]\)的值域为\([1,pos]\)。所以可以强制前面的合法,然后枚举转移:\(f_{i}=\sum_{j=1}^{i-1} f_j\cdot (i-j)!\)。这个是显然的分治NTT式子,直接做即可。
  • Luogu P5169 xtq的异或和 首先奇数异或放在一起显然就是常用的环+链讨论。考虑先把做出一棵生成树,把环找出来然后丢到线性基里,然后可以在线性基里DFS出所有可以表示的数。剩下的就是链和链相交的部分了,把原生成树上每个点到根的路径的异或值记一下然后直接生成函数FWT优化即可。
  • Luogu P3321 [SDOI2015]序列统计 还是考虑生成函数,我们希望能把积化为下标的和,这样就可以上多项式快速幂了。考虑原根这一神奇东西。我们可以直接暴力求出\(m\)的原根,然后把所有数都用原根转化到指数的位置,这样相乘就对应着指数的相加了。最后注意下标也是在模\(m\)意义下的,要时刻注意复制走。 sol
  • Luogu P4238 【模板】多项式求逆 多项式全家桶系列之多项式求逆,并不是想象中的那么简单。主流写法有倍增(递归)+NTT,这里我选择了不易写错的递归版,通过主定理可以证明复杂度是\(O(n\log n)\)的。
  • Luogu P5162 WD与积木 上次这场都没改,一直咕到现在。考虑分别计算分子和分母。还是可以用生成函数\(H(x)=\sum_i\frac{x^i}{i!}\)构造答案,容易推出分母\(B(x)=\frac{1}{2-H(x)}\),分子\(A(x)=B(x)\ast (B(x)-1)\),直接多项式求逆+NTT即可。
  • Luogu P4770 [NOI2018]你的名字 去年同步赛写了Hash忘记判本质不同直接爆零了。这道题的话先考虑\(l=1,r=|S|\)的点,可以对第一个串建出SAM然后直接在上面匹配即可。判重的话可以对第二个串也建SAM。询问时区间的话其实就是转移的时候要根据endpos集合是否包含在区间内决定是否转移。用线段树合并维护endpos即可。
  • hihoCoder #1317 : 搜索四·跳舞链 只有这上面才有DLX的模板了。个人感觉DLX思路很精简,代码很优美。主要可以解决精确覆盖重复覆盖问题,这里显然就是精确覆盖的板子了(连方案都不用输)。注意删除列和恢复列的时候LR的遍历顺序。
  • UVA1309 Sudoku 就是不明白数独为什么就黑了。考虑把数独转化为精确覆盖问题,考虑将于一个选项三元组\((r,c,v)\)表示在\((r,c)\)填上\(v\)作为行,那么有四种任务可以作为列(一个是这个位置要填数,另外三个是数独的限制),所以问题被转换为\(4096\)行,\(1024\)列,\(1\)的个数为\(16384\)的精确覆盖问题。对于DLX来说绰绰有余。
  • Luogu P4205 [NOI2005]智慧珠游戏 可怕的智障智慧珠游戏。可以直接大力搜索然后剪枝过去(然后你就可以见识到什么叫倒着搜索和clock卡时大法)。这里写了正解DLX,其实原来问题只有两种限制,即每一个位置都要填满以及每一种颜色都要出现过。所以我们手动打表枚举出所有的放置方案然后转化为一个\(2730\)行,\(67\)列,\(1\)的个数\(15084\)精确覆盖问题,但是不知道问什么有几个点跑的特别慢。被爆搜按着打 sol
  • Luogu P4151 [WC2011]最大XOR和路径 比较简单的异或环+链讨论题。考虑在还是把原图剖成环和链两部分。考虑到对于任意一条从\(1\to n\)的路径,我们可以用环去异或它得到最大值。因为我走到一个环的过程相当于把一条路径走了两遍,并不会影响答案。所以直接线性基维护即可。
  • Luogu P5072 [Ynoi2015]盼君勿忘 时隔多年我又回来做ynoi了。题目一眼莫队,但是考虑怎么维护。我们首先考虑对于每一个数,令它在区间内出现的次数为\(t\),那么包含它的子序列一共有\(2^{r-l+1}-2^{r-l+1-t}\),算贡献的话可以直接求出出现次数为\(x\)的数的权值和。考虑到\(x\)不同的取值最多只有\(\sqrt n\)个,因此可以直接用链表串起来。对于每次询问还有一个优化,就是分块打表预处理\(2\)的幂次(因为模数会变),所以强行把总复杂度压到了\(O(n\sqrt n)\)
  • Luogu P5105 不强制在线的动态快速排序 首先可重的值其实是会抵消的,所以不管。考虑先把那个式子化开,里面显然就是平方差公式展开,那么我们发现一个区间的贡献就变成了一堆连续奇数异或值,这个可以\(O(1)\)算。然后就是考虑添加区间的问题了,一眼线段树维护?算了下内存貌似有点虚,后来一想每个区间只会被删或加入一次,那么直接用set维护所有区间即可。
  • Luogu P3722 [AH2017/HNOI2017]影魔 随到的一道题,感觉海星。思路很老,就是单调栈预处理左右比它大的数。然后考虑两种方案,其实都可以化为一个点+一段区间的贡献的形式。那么离线+询问排序,直接树状数组处理贡献即可。
  • Luogu P3165 [CQOI2014]排序机械臂&&Luogu P4402 [Cerc2007]robotic sort 机械排序&&SP2059 CERC07S - Robotic Sort&&UVA1402 Robotic Sort 这是一道经典的\(4\)倍经验题了吧。把数排序了之后相当于查找第\(k\)大和区间翻转Splay是不可能的,我选择FHQ Treapsol
  • Luogu P3690 【模板】Link Cut Tree (动态树) 终于下定决心学了下LCT这个万能算法。CXRdalao晚了整整一个月(复习Splay花了一个下午)。感觉海星,核心的access理解会背了后就很简单了。
  • ZJOI2019模拟赛(四)1.13 本来可以打得很好的一场最后被我自己玩到掉Rating了。T1本来\(40pts\)然后最后网卡了交了两发然后爆零了(最后1min交的)。正解好像是贪心+数学。T2写完暴力本来准备在码个DDP然后先放着了,结果交的时候忘记写强制在线了,又爆零了,正解是用LCT维护DDP。T3想了好久,类似之前做的一道多项式题,直接分治+NTT+多项式求逆即可。不过莫名\(90\)就很尴尬了。
  • Luogu P4719 【模板】动态dp 学一发DDP(如果联赛之前学一发那么可能D2就不会死磕T2去尝试rushT3了)。主要思路是把DP方程写成矩阵乘法(这里的矩乘只要满足性质即可),然后进行轻重剖分(以后会把树剖都称为轻重剖分),对于每一条重链用线段树维护矩阵即可。注意由于我们自下而上合并所以要用右节点乘左节点。
  • Luogu P2147 [SDOI2008]洞穴勘测&&Luogu P3950 部落冲突 带删除的树上连通性问题。不如请出万能的LCT大法直接rush过去?貌似有离线+树状数组的写法?
  • ZJOI2019模拟赛(五)1.14 看到OJ上有考试直接跟班主任翘了课来打。没想到把下午的课一起翘了感觉打的很烂,但是又Rank1涨了挺多分(我的预感总是相反)。T1送分题,是个人都看出来那是个一次函数,所以我们可以直接半平面交(或维护一个凸壳)求出所有变化的交点,然后离线排序后直接树上倍增即可。T2不会,写了100多行的插头DP觉得很烦就扔了写爆搜了。结果最后爆零了(ORZ一小时70+行切了此题的LTL dalao)。T3题目看不懂,弃了弃了。
  • BZOJ 2870 最长道路 BZOJ权限题,为了测评我在Luogu上弄了个镜像。应该算是边分治的基础题了吧。直接做的话会被菊花图卡死,所以我们要把树重构成二叉树。然后边分的时候对于两端的子树直接DFS找出所有路径,然后排个序\(two\ points\)扫一遍即可。复杂度\(O(n\log^2n)\)
  • Luogu P2387 [NOI2014]魔法森林 这题好像已经被SPFA艹烂了。这种两个限制的题目我们套路地先排个序定下一个,然后考虑动态加边维护\(1\to n\)最短边长。用并查集判联通,如果两点不连通那么显然连起来,否则查询下最大边权决定是否要断边。这个显然直接把边权化为点权之后LCT维护下即可。
  • Luogu P3241 [HNOI2015]开店 调样例到怀疑人生,最后发现我区间忘记取\(\min,\max\)了。看到保证度数这个限制,自然想到边分治,其实本来打算写动态边分治的,但是发现边分树不好建。最后改写动态点分治。思路差不多,在询问的时候暴力向上跳,年龄的性质把每个点能到达的做一个后缀和然后直接lower/upper_bound查询即可(因为是左闭右开区间)。
  • SP2939 QTREE5 - Query on a tree V 这好像是一套题?看一眼和ZJOI的捉迷藏很像,所以动态点分治肯定是可以做的。但是由于我想练一下动态边分治,所以作死刚了一个中午+大半个晚上。思路也很简单,把边分树建出来然后对于每一个祖先(其实就是原来的边)的两个方向子树维护一个小根堆即可。注意要重建图。
  • Luogu P3792 由乃与大母神原型和偶像崇拜 ynoi我来了。感觉这题很乱搞。考虑满足要求的充要条件就是区间\(\max-\min\)等于区间长度。剩下我们可以乱搞,我的方法是对于每个数记一个立方和(因为好像有费马最后定理在,维护平方和很容易撞车,比如勾股数)然后判是否相等。不放心的话可以做一个双Hash,让错误概率足够小。
  • LOJ #6030. 「雅礼集训 2017 Day1」矩阵 CJJ安利的一道题,思博啊。考虑当且仅当矩阵全白时才会无解,因此判了之后就开始构造。首先容易想到对于那些全黑的列不用覆盖,否则一定需要覆盖。然后考虑搞出一整行的黑色去覆盖这些列,枚举每一行判断再取\(\min\)即可。
  • CF896C Willem, Chtholly and Seniorious 这题不多说了吧,ODT(珂朵莉树)的来源所在。ODT主要用set维护一段值相等的区间。基于数据随机下每次区间的长度为\(\frac{n}{3}\)(2018联赛初赛考了)可以使得set的规模得到有效控制。其实本质上还是一个暴力骗分数据结构。
  • Luogu P4344 [SHOI2015]脑洞治疗仪 最大连续子段和,还有区间修改和区间复制粘贴操作。线段树仿佛不可做(实际上当然是可以的)。默默掏出ODT,十分不科学的跑了过去(踩着标算打),注意到一点在分离出一个区间时要先split(r+1)split(l),否则会RE。
  • Luogu P2572 [SCOI2010]序列操作 怎么又是这个最大连续子段和,还有区间取反?貌似可以在线段树上维护翻转标记。但码亮太大所以我们写ODT吧,不用动脑这些都是SB操作。不过终于知道split顺序的原因了,貌似是在split(r+1)时可能会把split(l)出的区间erase掉,然后RE。
  • Luogu P4332 [SHOI2014]三叉神经树 这里先%一发FlashHu dalao。思路很巧妙啊,考虑把每个点的连接的\(1\)的儿子的个数(在\([0,3]\)中)作为它的点权\(v_i\),那么首先\(\lfloor\frac{v_i}{2}\rfloor\)就是点权,可以根据儿子转移。进一步得出只有当点权从\(1\to 2\)\(2\to 1\)时才会引起父节点的变化,并且这个变化肯定是一直向上直到某一个点的。所以我们考虑用LCTaccess操作来维护,每个节点维护一下深度最深的点权为\([1,2]\)的儿子的编号。再splay上来直接修改即可。注意特判没有的情况要一直修改到根。
  • Luogu P1501 [国家集训队]Tree II 我TM硬生生把一道1小时都不用的题目写成了3小时。看到有动态删边操作那肯定就是LCT了。思路很显然,类似于线段树的懒惰标记Splay也可以维护一个乘法和一个加法。然后我手动取膜写挂了调到死。。。
  • LOJ#6031. 「雅礼集训 2017 Day1」字符串 雅礼集训的题普遍很神?CJJ安利做了一发,在思索了良久未果之后写了发\(O(q\sqrt mk^2)\)的暴力SAM+莫队水了\(60pts\)。然后膜了发题解发现正解是设阈值,当\(k\)较小时可以直接像上面一样做,如果\(k\)大了那么相对的\(q\)就小了,所以我们可以在SAM的parent树上倍增寻找对应区间的答案,复杂度大概是\(O(q(k+m\log k))\)。取个\(\sqrt n\)左右的阈值就过了。
  • Luogu P4172 [WC2006]水管局长 动态删边不好维护,我们考虑离线倒着做。想到最小瓶颈路的条件那么我们可以先用Kruskal把未删除的边做一遍MST,然后考虑加边。显然我们只需要维护树上两点间最大边权即可。直接LCT维护之。
  • ZJOI2019模拟赛(六)1.19 题面没上传延迟到9:30开打我LOL都开了。T1题面很可怕,一眼不可做,实际上好像很简单?T2一眼\(Polya\)定理,枚举\(\gcd(i,n)\)然后容斥算上去即可。然后恶心的来了,高精度!本来想掏出Python大法水过的,但是一想本来速度就很卡再一用PY直接去世,所以手动压位。T3题答TSP,但是前面的数据一定要全对才能给分,所以写的SA不如写爆搜。。。
  • LOJ #6029. 「雅礼集训 2017 Day1」市场 雅礼集训2017Day1 solve all。感觉这题偏水,和暑假ACM打的一题很像,当时我用延迟分块艹了过去。这里发现类似于区间取\(\log/\phi\),数的规模会急剧缩小,所以在除法的时候判断下这个区间\(\min,\max\)的缩减量是否一致,若是则可以直接转化为区间减。然后线段树维护这些东西即可。
  • BZOJ 4025: 二分图 首先我们把这个东西看做扫描线一样,分加入和删除两种情况讨论。然后考虑一个判断二分图的性质:没有奇环(这个很简单吧,这样奇环上必然有一个点无法分配)。所以我们用LCT动态维护一个生成树,但是考虑到每次成环要删掉环上最早被删的边,所以这课生成树应该是关于删除时间的最大生成树。
  • Luogu P2787 语文1(chin1)- 理理思维 怎么又有区间覆盖问题,写一发ODT试试。30min后码完水过,不过正解也比较好想,因为一共只有\(26\)种字符,可以直接开\(26\)棵线段树来搞,时间和空间上都被ODT碾压了。
  • CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths 静态的子树内信息的统计?原来还有一个算法叫Dsu on Tree好久没写过这个算法的题了。首先考虑到回文串的性质,显然就是子树内所有字符的出现次数只有\(0/1\)个是奇数,然后由于这里的字符数很少所以可以直接状压起来然后利用\(\operatorname{xor}\)和深度的可减性来做即可。
  • LOJ #6032. 「雅礼集训 2017 Day2」水箱 最近没什么题做就准备做做雅礼集训。看题目什么鬼东西,物理定律指的就是水满了会流出去。我们考虑建一个神奇的树(一棵类哈夫曼树),按隔板的高度把两边连起来,这个UFS可以维护。然后剩下的就是个树形DP了。
  • LOJ #6033. 「雅礼集训 2017 Day2」棋盘游戏 这题其实就是Luogu P4055 [JSOI2009]游戏,经典的棋盘黑白染色之后博弈。我们建图之后先跑一个二分图匹配(主要是匈牙利算法相对于Dinic更好判断一条边是否是匹配边),如果有完美匹配那么必败(因为总会走到一个匹配点)。所以获胜的话一定要找到非匹配点然后通过这个去DFS找其它的点即可。
  • LOJ #6034. 「雅礼集训 2017 Day2」线段游戏 平面坐标系内线段覆盖,这不是李超线段树吗。好吧真的是(以前一直找不到板子题)。李超线段树本质其实的标记永久化记录每一条“完胜”了别的线段的东西,所以要根据区间中点讨论下传与否。
  • Luogu P2542 [AHOI2005]航线规划 动态维护割边?自然地往双联通量上想,但是删边真心烦,还是考虑离线,操作倒序。首先还是维护棵生成树,但是发现这个树上再加一条边时这条路径上的边都不可能是桥了。所以可以把它们缩起来。然后就是两种写法,一种是树剖之后线段树(树状数组)维护边权(修改就变成\(0\)),要么直接点,LCT动态删,因为树高是期望\(\log\)的,所以还是\(O(n\log n)\)
  • LOJ #6035. 「雅礼集训 2017 Day4」洗衣服 为什么没有Day3。这种题目肯定一眼贪心吧。我们单独看一下洗和烘\(i\)件衣服最少需要多少时间,这个可以直接用小根堆模拟即可,记为\(tw_i,td_i\)。然后其实最后的答案就是\(\max tw_i+td_{p_i}\)\(p_i\)是长为\(n\)的排列),然后根据排序不等式贪心求一下即可。
  • Luogu P4716 【模板】最小树形图&&UVA11865 Stream My Contest 貌似是一个没什么实际作用的算法?所以简要的学一下就好了。主流的有基于贪心缩点朱刘算法,复杂度下界是\(O(nm)\)的,神仙Tarjan还发明了一种\(O(nm\log n)\)的做法,但是过于复杂没什么意义。UVA的那题的话直接二分答案再用最小树形图判断即可。
  • Luogu P5047 [Ynoi2019模拟赛]Yuno loves sqrt technology II ynoi我来了分块蜜汁错误调了3h。这个貌似是二次离线莫队的板子题,考虑直接对原来的询问进行莫队处理,发现每次要计算的其实就是一个端点移动与原来的区间产生的贡献,那么我们可以把区间拆开,然后把贡献离线存下来,最后用值域分块扫一遍即可。复杂度\(O(n\sqrt n)\)
  • BZOJ 4998: 星球联盟 动态加边问题?LCT我来了好吧其实这题可以规避LCT的,因为只有连边操作。和Luogu P2542 [AHOI2005]航线规划的方法很像,我们直接在连边的时候判断,如果在LCT上已经是父子关系了那么可以直接把一个子树缩成一个点,但千万要注意这里的LCT不能pushup
  • BZOJ 2959: 长跑 这题没什么好说的吧,和一般的LCT维护联通的套路差不多,主要还是一个缩点的做法,但是这里的话注意一个坑点就是就算查询的时候x==y但是还是要split。因为可能之前对答案的修改还没有传上来。
  • Luogu P5071 [Ynoi2015]此时此刻的光辉 我艹最近做ynoi都是SB错误然后一交爆蛋一整屏的东西啊。约束个数的话可以直接用公式,然后我们考虑把这些数质因数分解(没必要用Pollard-Rho),但是这样的复杂度大概是\(O(n\sqrt n\log n)\)的,所以我们再次分块,将前根号个质数用前缀和处理可以卡到大致\(O(n\sqrt n)\)。大概有一个很小的常数?
  • Luogu P4219 [BJOI2014]大融合 动态连边的问题那么就是LCT了。很容易看出每一次的答案其实就是求这两边的子树size的乘积。但我们知道LCT善于维护链信息但是不善于维护子树信息。不过我们可以想办法,LCT的实质其实就是轻重边的切换,那么我们再维护一下一个点轻边连接的子树的size和即刻。注意accesslink的时候都要更新虚子树和。
  • CF587D Duff in Mafia 实在不知道做什么题,于是翻了翻暑假的课件。题目三种限制我们发现后两个限制对于答案没有影响,所以可以直接考虑了。然后细细推敲一波发现可以化边为点,然后就是一个裸的2-SAT,但是直接建边是\(O(n^2)\)的,可以用前后缀优化建图搞了然后二分判断即可。

Postscript

由于01/26开始放寒假了,所以为了写寒假集训记录这个月的就先写到这里了。

从下个月开始应该会加上一个日期标示,一来方便查找,二来也比较美观(被两个初二神仙吐槽很多次了)

感觉这个月过得也是很舒服,来机房的次数更超当年,经常晚自习后弄到熄灯了才回去。

文化课什么的,我是不会告诉你我天天英语课睡觉,语文课冥想,数学课发呆,科学社会课聊天

初三的期末考试由于月考了多次感觉就没什么了,随便复习了下也混了个年级\(rank\ 18\)

\(102+117+113.6+144+66.5=543.1\)

语数外三门班里rk1可海星。

寒假多刷点题提升一下自己辣鸡的水平吧。

posted @ 2019-01-05 23:40 hl666 阅读(...) 评论(...) 编辑 收藏