冷板凳

就是很菜很菜的一条菜狗

排序:
默认
按更新时间
按访问量

51nod 1405 树的距离之和(思维)

给定一棵树,求到每一个点到其他所有点的最短距离之和 假定一个根 然后求出该点的答案值 根据我们dfs的顺序,这颗树也是可以唯一确定的 任意一个子节点的值 = 总节点数+父节点值-2*子节点的子树节点数(包括自己) 不知道怎么想出来的,反正就是可以 #include &amp...

2018-07-16 23:37:47

阅读数:0

评论数:0

51nod 1686 第K大区间(二分+尺取)

问你在所有区间中,排第k的那个区间是多少(根据众数值排列) 这题看了题解,一开始想要使用类似递推的方法..毫无用处 发现是要利用好众数存在单调性,就可以尺取了.. 做一下离散化,时间卡的难受 #include <iostream> #includ...

2018-07-16 23:34:54

阅读数:0

评论数:0

51nod 1076 关于环

判断无向图中两个点是否存在两条”不相交”即完全没有重合边的路径 绝望了很久,然后想到环这种东西,如果一个图中,有点的入度是1,那么他肯定不能和任何点有这种路径,那么把这种点剥离完之后,那个”环”就一定每个都满足. 判断森林情况. #include <iostream...

2018-07-10 23:11:06

阅读数:8

评论数:0

51nod 回文串划分

哇很好的题.. 发现在dp中,找到"转化的一步",枚举这一步非常重要. 这题首先是n2的处理出区间回文,一开始我一直想的是dp[i][j]来代表[i,j]之间最少划分几个,这个是容易的,但是会t,我想了几个优化,其中一个便是不是遍历i,j中间...

2018-05-10 10:35:32

阅读数:14

评论数:0

51nod 子序列个数 dp

看上去很裸的题,依旧是dp. 晚点来补. dp[i]前i个的所有子序列,sum[j],以j结尾的子序列数量. 那么dp[i] = dp[i-1] (不加第i个) +(dp[i-1]-sum[a[i]]) (分三块,剪去还没以a[i]结尾的所有子序列数量.) #include &am...

2018-05-07 14:27:46

阅读数:12

评论数:0

ppp

一题是求一组数的两两最大公因数,直接暴力分解,o(n根号n). 一题是求n个数中和为n倍数的解,因为n,所以应用歌巢原理.

2018-05-06 00:03:16

阅读数:15

评论数:0

cf Single-use Stones(水题)

贪心的想法,希望把青蛙们尽可能的往前堆,实现稍微有一点麻烦(我太垃圾了) #include <iostream> using namespace std; #define debug(x) std::cerr <&am...

2018-04-30 13:35:04

阅读数:86

评论数:0

hdu 6265 Master of Phi(数学)

数学题,主要是欧拉函数的简单应用和一个简单递推,一开始只是弄了个暴力,后来发现过不了,然后瞎逼搞了个递推一样的,就过了..每太清楚,晚上来补题解 其实只要拆分出互素因子之后发现是p-1/p就好,然后处理为1的情况,一开始我也是一个2^20,不过因为我是bitset遍历的,所以多20复杂度,过不了...

2018-04-28 16:24:25

阅读数:125

评论数:0

hdu 6267 Master of Random

好菜啊…ccpc的签到题都做的这么吃力..T^T 大概是一个..数学题把.. 递推计算每个节点在最终情况可能为最终结果做贡献的可能种类,等于前面的节点每个做贡献的可能之和(自己作为子节点贴上去,就可以蹭到人家的了)+自己被选为子树根节点(阶乘,容易想到),然后此前的每一个节点做贡献可能,都要乘...

2018-04-20 10:44:20

阅读数:58

评论数:0

小H和密码

好难的dp… 好蠢的我… 勉强苟出来了,但是还不太清楚..这题很重要啊,要赶紧来补.. 对于一个dp数组,每个都要遍历到,每个dp状态,如果可以列举出他所有的可以来源,并在来源处转移,可以转移到,(转移方程可以写出)没有遗漏,就是可行的. dp[i][j],是否可以用前i个表达前j个,要不...

2018-04-18 09:53:06

阅读数:7

评论数:0

埃森哲杯第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛

五题菜狗… 那个自习室真是有毒..坐了一下子马上就感冒了..头痛… A Wasserstein Distance 这题也是搞不懂,一开始狂wa,迷迷糊糊的. #include <iostream> #include <vec...

2018-04-15 20:09:09

阅读数:181

评论数:0

cf Mahmoud and Ehab and another array construction task(素数处理大乱炖)

做惯了素数分解,其实直接因数分解,复杂度也是根号的,这非常有用. 筛是线性的,这也非常重要. 给出一段数,让你给出一个字典序大于他的最小数列.这种最小的大于..不是特别的东西. 每一个数放进来,素因数分解,如果和之前数没有重合,那么把他的新素因数都过一遍. 如果有了重合,那么就不行了. ...

2018-04-09 23:38:02

阅读数:21

评论数:0

找不到bug...

include include using namespace std; define debug(x) //std::cerr << #x << ” = ” <&...

2018-04-09 09:26:18

阅读数:21

评论数:0

cf Castle Defense(二分+滑动窗口)

类似区间覆盖的问题,每个弓箭手可以给半径r的区域加防御力,有一些弓箭手未被部署,问你怎么部署可以使得防御力最小值最大. 当然想到是二分,但是二分之后我一开始想的是用树状数组来获得区间和,判断行不行,(一旦不行就给最左边的加这是很容易想到的).然而t了…我优化了好久,最后发现,有且只有最后一组过不...

2018-03-26 16:07:02

阅读数:28

评论数:0

atcoder Grid Components(构造)

要你构造一个指定联通块数量的黑白图,具体构造方案类似一个一层一层的塔,可以跑一遍程序看.有一些细节要处理,没什么意思. #include <iostream> #include <algorithm> #...

2018-03-26 13:52:21

阅读数:30

评论数:0

cf Water Taps

n个水龙头,每个有温度,和他的最大出水量,混合后的温度为出水量乘温度/总水量. 问你要获得目标温度,最多放多少水. 一开始总想着..某种数学方式解决,然后失败… 后来想着应该是二分吧,但是我总是想着 logn * n的方式来直接check答案,但是事实上是n*logn的,首先.是一个贪心的做...

2018-03-26 10:17:46

阅读数:6

评论数:0

atcoder Two Sequences(位处理)

每一位分开处理,希望可以获得所有异或的值中该位的情况. 一开始想用dp的方式,后来发现进位会使得无法处理. 所以直接用求和的方式来判断该位是否存在. 这里的方法是对所有取模,并排序,就可以用二分得到数量. 具体参看官方题解.还是很妙的. #include <io...

2018-03-24 13:44:22

阅读数:29

评论数:1

最近

其实这篇博客早该发了,只是这两天要不卡题,要不太晚了累.. 一开始的兴奋冲淡了吧,我远远不够,仍然没有做出一题有价值的题,刚好当时的题目,使用stl乱搞是方便的,我刚好手比较熟,所以取得了优势,但是现在的我,仍然没有任何上限的提升. 并没有....

2018-03-22 23:28:00

阅读数:6

评论数:0

cf Directed Roads

这题和我上一篇博客有着惊人的相似.. 同样的陈述,只是每个指向变成了有向的,问你选择一些边来翻转,如果翻转之后不存在环,那就是可行的,这种可行方式有多少种. 我们反向考虑,翻转后会存在环的方式有多少种,按照上一篇博客的方法,进行剥离,这里不存在”完美树”只有2,3.这里,因为有向环的定义,2也...

2018-03-22 23:25:30

阅读数:13

评论数:0

cf Fix a Tree

每个点,跟一个点一定连边(有可能是他本身),当然,这样给出的一组数据,不一定是一颗完美的树(有且只有一个点是连他本身,当然不存在环),要你进行最少的修改,使其变成一个树. 首先,这显然是一个类似森林的定义,我们可以dfs出一个联通块,然后对他的性质进行判定 1.一旦出现一个点指向自己,那这一块...

2018-03-22 23:20:29

阅读数:10

评论数:0

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