乱搞
文章平均质量分 59
FuTaimeng
好像有人说我冰雪聪明~~~
展开
-
BZOJ1098: [POI2007]办公楼biu
BZOJ1098: [POI2007]办公楼biu链表·乱搞题解:这真的是一道令人耳目一新的题!首先很容易看出答案就是补图的连通块个数,但是补图有O(n2)O(n^2)条边啊QWQ 在不建立补图的情况下,对于一个点,遍历其原图中的边,哪些点没访问到,它们就是补图中能走到的点。很遗憾,这样还是O(n2)O(n^2)我们发现“遍历所有点看哪个没访问到”这个步骤做了很多无用功,因为很多点可能已经确定了它原创 2017-08-19 10:40:46 · 296 阅读 · 0 评论 -
BZOJ3727: PA2014 Final Zadanie
BZOJ3727: PA2014 Final Zadanie乱搞题解: 感谢fqk dalao画柿子! 令点11为根,设dis[i]dis[i]表示ii到根的深度,易得: b[1]=∑a[i]∗dis[i]b[1]=\sum{a[i]*dis[i]} b[i]=b[fai]−size[i]+(size[1]−size[i])(i>1)b[i]=b[fa_i]-size[i]+(size[原创 2017-08-22 10:02:52 · 249 阅读 · 0 评论 -
BZOJ3712: [PA2014]Fiolki
BZOJ3712: [PA2014]FiolkiLCA·乱搞题解:哇塞好棒棒的题啊!显然的做法是O(mk)O(mk)的,嗯,换种思路。 如果我们能快速知道反应的发生顺序呢? 可惜没有如果…… 是有的!按照操作的顺序,为每个操作新建一个节点,当然每个原始的瓶子也是节点,两个儿子分别是反应的两个瓶子。 这样就长成一片森林啦~ 然后两种物质的LCA的深度不就是它们反应的顺序吗? 排一下序模拟一原创 2017-08-22 12:16:09 · 305 阅读 · 0 评论 -
BZOJ4542: [Hnoi2016]大数
BZOJ4542: [Hnoi2016]大数莫队·乱搞题解:蛤~我这种蒟蒻怎么可能自己想出来呢2333~ 但是我看网上的题解很多没有证明过程,就写一下吧~ans=∑i=lr∑j=ir1((10′)n−r∑k=ijs[i]∗10n−kmodp==0)ans=\sum_{i=l}^{r} \sum_{j=i}^{r} 1 ((10')^{n-r} \sum_{k=i}^{j}{s[i] * 10^{n原创 2017-08-25 22:06:19 · 226 阅读 · 0 评论 -
BZOJ3770: 疯狂的限制
BZOJ3770: 疯狂的限制乱搞题解:直接看代码吧。Code:#include <iostream>#include <cstring>#include <cstdio>#include <vector> #define D(x) cout<<#x<<" = "<<x<<" "#define E cout<<endlusing namespace std;const int N =原创 2017-08-26 20:53:06 · 393 阅读 · 0 评论 -
CF #437
CF #437 http://codeforces.com/contest/867B. Save the problem!乱搞Code:#include <iostream>#include <cstring>#include <cstdio>using namespace std;int main(){ int n; scanf("%d",&n); if(n==原创 2017-10-03 20:55:46 · 355 阅读 · 0 评论