\(noip模拟27\;solutions\) 这次吧,我本来以为我能切掉两个题,结果呢??只切掉了一个 不过,隔壁Varuxn也以为能切两个,可惜了,他一个都没切...... 确实他分比我高一点,但是吧,这个人就改题非常慢,所以结论就是 我牛逼,牛逼到家了 所以我应该是挂掉了100pts,下次注意,下次AK \(T1\;妹子图(graph)\) 这个题有一堆做法,而且旗鼓相当,复杂度都一样,跑的也差不多快 我的做法是在无向图上跑魔改拓扑排序+魔改DIJ,非常的恶心,但是吧,理解之后极其简单 按…
T1 牛半仙的妹子图 做法挺多的,可以最小生成树或者最短路,复杂度O(cq),c是颜色数. 我考场上想到了原来做过的一道题影子,就用了并查集,把边权排序后一个个插入,记录权值的前缀和,复杂度mlogm挺优秀. 后来发现wlr都是1e9,一个个求前缀和直接炸了,考场上感觉l,r,w差值对答案有影响就没离散化,开了个map记出现的w的前缀和,其他都能O1计算. 这不切了吗?年轻的我如是想到. 于是我领略到了map80倍常数的威力.离散化开数组再带到初值计算就A了. 考场拿了75pts还WA了仨点,据…
前言 从思路上来讲是比较成功的,从分数上就比较令人失望了. 考场上是想到了前两个题的正解思路,其实最后一个题是半个原题,只可惜是我看不懂题... 这波呀,这波又是 语文素养限制OI水平.. 改题的时候连官方题解都没看一眼就码过了,感觉不错. 总感觉出题人的题目名字有点...(T2的wrxcsd是啥意思????) T1 牛半仙的妹子图 解题思路 做法有很多,比如什么:最小生成树,魔改拓扑排序,等等. 我的做法是 Dij 最短路,看题目第一眼就是某个点到所有点路径上困难值最大值的最小值. 跑一个 D…
题解 \(by\;zj\varphi\) 明显一道极长上升子序列的题. 直接线段树维护单调栈,最后单调栈求出可以贡献的序列,答案相加就行. Code #include<bits/stdc++.h> #define ri register signed #define p(i) ++i using namespace std; namespace IO{ char buf[1<<21],*p1=buf,*p2=buf,OPUT[100]; #define gc() p1==p2&am…
题解 \(by\;zj\varphi\) 很妙的虚树题. 考虑若没有操作 \(2\),那么直接记录一下扩散到它的最短时间和询问时间相比即可,可以当作一个树上最短路. 有 \(2\) 操作怎么办,将操作按 \(2\) 操作分块,每到 \(2\) 操作时计算这一块的答案,在全图上跑 \(spfa\) 一定会 \(T\). 发现只有询问的点会被用到,所以建虚树就行,时间复杂度为 \(\mathcal O\rm (nlogn)\)…
[题目描述] Hzwer神犇最近又征服了一个国家,然后接下来却也遇见了一个难题. Hzwer的国家有n个点,m条边,而作为国王,他十分喜欢游览自己的国家.他一般会从任意一个点出发,随便找边走,沿途欣赏路上的美景.但是我们的Hzwer是一个奇怪的人,他不喜欢走到自己以前走过的地方,他的国家本来有p1条有向边,p2条无向边,由于国王奇怪的爱好,他觉得整改所有无向边,使得他们变成有向边,要求整改完以后保证他的国家不可能出现从某个地点出发顺着路走一圈又回来的情况.(注:m=p1+p2.) 概述:给你一张…
低谷度过了? 但是skyh阿卡了,还是反衬出我的辣鸡. T1知道要sort,却忘了判重,正解不如暴力分高,555. T2成功化出正解柿子,然后化过头了,化出了无法DP的柿子. 果然不够强,大神们一眼就看出应该把$\sum a_i$压进dp的一维. T3记录子树末4位二进制,由异或建立映射. 考场上拐了个大弯,打了鬼畜dfs序+线段树调到自闭,所幸调出来了. rank5,跟AK差出110分,还是辣鸡. 不过至少比前边几场好多了 (原来我就是个只能做简单题的大辣鸡QAQ) 集训结束了. 集训生活非常…
两个机房又和在一起考试 开场看了看T1,感觉挺水的,过. T2,这个式子有点奇怪,暂时没什么思路,过 T3,好像保留最后几位换个根处理一下就行了,过,先去打T1 于是T1大概打了0.5h,连暴力带正解带对拍,码完之后感觉挺稳的,就过了.去看T3. T3换个根就没事了,但是我一开始状态设置的有问题,一拍就爆炸了. 调调调,调过了T3,拍上了,感觉很稳,就交了一下T3和T1,此时过了两个小时 去把T2的式子化简了一下,发现只与前面所有数的和有关,好像是个很简单的dp,就码出来了. 不太会打暴力,于是…
考得太悬了!…
题解 \(by\;zj\varphi\) 颜色数很少,考虑枚举颜色数. 建出来一棵最小生成树,可以证明在最小生成树上,一个点到另一个点的路径上的最大权值最小(易证,考虑 \(\rm kruskal\) 的原理). 在最小生成树上 \(dfs\) 一遍,求出到达每种颜色的最小权值,询问时枚举每种颜色即可. Code: #include<bits/stdc++.h> #define ri register signed #define p(i) ++i using namespace std; n…