摘要:
给定一幅无向带权连通图G = (V, E) (这里V是点集,E是边集)。从点u开始的最短路径树是这样一幅图G1 = (V, E1),其中E1是E的子集,并且在G1中,u到所有其它点的最短路径与他在G中是一样的。 现在给定一幅无向带权连通图G和一个点u。你的任务是找出从u开始的最短路径树,并且这个树中 阅读全文
摘要:
题面: 给一颗以1为根的树。 每个点有两个权值:vi, ti,一开始全部是零。 Q次操作: 读入o, u, d o = 1 对u到根上所有点的vi += d o = 2 对u到根上所有点的ti += vi * d 最后,输出每个点的ti值(n, Q <= 100000) 有50%的数据N,Q <= 阅读全文
摘要:
用单调栈的话不严格的O(n^3)可以轻松艹过去,统计的时候要差分。 可以发现,对于一个单调栈里的元素,从它进栈到出栈都会重复类似的计算。。再差分一波后就可以只在出栈的时候计算一下了。 具体的话看代码吧。。 O(n^3): 1 #include<cstdio> 2 #include<iostream> 阅读全文
摘要:
到现在还是不会写系列,直接贴题解了。 http://www.51nod.com/question/index.html#!questionId=1157 1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #include<al 阅读全文
摘要:
给你一坨矩形,问这些矩形组成的所有多边形的周长之和。 分别求竖着的边和横着的边。 离散化后线段树,维护当前行(或者列)有多少没在多边形里的,添加矩形就变成添加、删除线段。 每次加线段或删线段时累加一下贡献(加线段时的贡献就是加完后那条线段里有多少个位置变成在多边形里,删线段时的贡献就是删完后有多少个 阅读全文
摘要:
先挖个坑。。这回大概不会太监吧(大雾 day -2 下午起飞的飞机,晚上到了成都。。把东西扔到旅馆后就组队外出觅食了。。。 街上人不多,逛了半天才发现一家卖本地小吃的小店。 KPM:诶诶给我来碗酸辣粉,一点辣就好。 然后店家随手往里面浇了半勺辣椒油...... 成功吓哭GD群众,顺便收获 KPM吃辣 阅读全文
摘要:
题目大意: 给出一些匹配串,要造一个长度不超过L的字符串,每个匹配串有自己的价值,匹配串每次出现在字符串里都会贡献一次价值...要求可能得到的最大价值。 匹配串总长不超200,L<=10^14,时限6s 典型的倍增floyd...看数据范围大概就知道是什么东西了= = 暴力写法的话..建个AC自动机 阅读全文
摘要:
坑啊。。 膜了半天byvoid大爷的题解。https://www.byvoid.com/blog/poi-1999-mag/?replytocom=1335/ 一开始从人的位置bfs一波,看看能走到初始包裹哪些方向上。要注意不能穿过初始包裹...byvoid的标程在处理穿过包裹什么的地方有问题... 阅读全文
摘要:
终于填上了这个万年巨坑....从初二的时候就听说过这题...然后一直不敢写QAQ 现在感觉也不是很烦(然而我还是写麻烦了 离散化一波,预处理出组合数什么的。。 要维护对于当前行,每列上方和下方节点凑出合法方案的个数。 然后对于当前行上两棵相邻的常青树,求一下左边、右边合法方案数,乘上中间空的列的合法 阅读全文
摘要:
膜了半天ccz大爷的题解...随机调整好神啊。。 大概就是把点随机一下,按随机后的顺序控制,顺便删掉无用点。 做完一次后,把一个已被控制的点丢回去,然后继续随机顺序做下去。。。 为啥我要尝试的次数比ccz大爷多那么多啊QAQ 实测一次丢多个点回去反而不好... 1 #include<cstdio> 阅读全文