摘要: 对于每一个子树x,我们有 f[x][i][k] 表示当前子树为x,有i个物品上交上一层合成(从而不计贡献但是计入成本),子树内一共投入了k元的最大收益 一个子树的贡献有以下几个方面: 1.其余儿子节点内部的贡献 2.儿子节点上交的物品合成一部分当前节点物品,这一部分又有一部分被截留在当前节点,产生了 阅读全文
posted @ 2019-08-30 21:25 颓废の子乃酱 阅读(158) 评论(0) 推荐(0) 编辑
摘要: emmm这道题讲真是一道动态规划的题目,然而这道题你打暴力也有70分,但是如果你dp学得还不错的话这道题目的代码实现其实并不难,甚至说,比暴力还容易些。 本题提供两种写法: 暴力做法: include include include include include include define LL 阅读全文
posted @ 2019-08-30 21:24 颓废の子乃酱 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 这道题的话是一道动态点分治的板子题,然而蒟蒻仍然把代码写的巨长(而且还很丑),所以不得不在代码中加上分割线来帮助~~我自己~~阅读,好了,很多东西我都写在代码里了,直接上代码吧 include include include include include include include inclu 阅读全文
posted @ 2019-08-30 21:22 颓废の子乃酱 阅读(231) 评论(0) 推荐(0) 编辑
摘要: ~~这一道题的话就我而言可能更像数学里的分类讨论?~~ 就是讨论一下修改矩形的四个角在守护者的哪边就好了,只是我的代码可能有点麻烦,如果有神犇看到的话能给点建议吗,拜谢! 然后很多东西我会放在代码里面,大佬们就看代码吧 阅读全文
posted @ 2019-08-30 21:20 颓废の子乃酱 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 题意 一个n个点的树,点i只能向[i−k,i−1]内的点连边,求有标号生成树的个数 然而做法,好吧我也不知道这是什么做法,所以~~有些注释~~~~大部分注释~~所有注释我都写在了代码里面,大佬们就自己去看看吧 include using namespace std; define ll long l 阅读全文
posted @ 2019-08-30 21:19 颓废の子乃酱 阅读(195) 评论(0) 推荐(0) 编辑
摘要:  题目大意:  有一棵树, 求距离为2的点权的乘积的和以及最大值。  边无权, 所以节点i, j只有两种关系可以有联合权值:  1. 爷爷与孙子( i( 或j) 的父节点的父节点是j( 或i) )  2. 兄弟( i, j拥有共同的父节点)  对于30%的数据可用floyd, 枚举任意的 阅读全文
posted @ 2019-08-30 21:17 颓废の子乃酱 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 送上AC代码: include include include include include include using namespace std; define ll long long define inf 0x3f3f3f3f define N 505 int n, m, ans = in 阅读全文
posted @ 2019-08-30 21:13 颓废の子乃酱 阅读(193) 评论(0) 推荐(1) 编辑
摘要: 欧拉回路:对于一个无向图,如果它每个点的度都是偶数,那么它存在一条欧拉回路;如果有且仅有2个点的度为奇数,那么它存在一条欧拉路;如果超过2个点的度为奇数,那么它就不存在欧拉路了。 题中说明至少有一个点,至少有一条欧拉回路。 如果有2个度数为奇数的点,那么就只能也这两个点之一为起点,另一个为终点。 题 阅读全文
posted @ 2019-08-30 21:12 颓废の子乃酱 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 这道题还是搜索,将每个符号待人,3^9次方的时间还是可以接受的。 include include include include using namespace std; int s[22]={1,2,3,4,5,6,7,8,9},sign[22]={1};//数字和其前方符号,一一对应 int n 阅读全文
posted @ 2019-08-30 21:10 颓废の子乃酱 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 题面 "link" solution 循环数是那些不包括0且没有重复数字的整数,并且游戏规则起点开始,经过每个数字一次(往后数数字游戏)后回到起点的就是循环数。 如果你经过每一个数字一次(数数字游戏)后,没有回到起点, 你的数字不是一个循环数。 因此,很显然循环数必定在[M,987654321]范围 阅读全文
posted @ 2019-08-30 21:08 颓废の子乃酱 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 题面 "link" solution 用二进制表示是最少的 把m变成二进制,那么用m的二进制的位数那么多钱袋就可以了 比如m=11010 那么多个钱袋放1,10,100,1000,10000,最多可以达到1111 所以这道题就是求m的二进制位数 实际上本题就是“多重背包的二进制优化”,用二进制拆分就 阅读全文
posted @ 2019-08-30 21:06 颓废の子乃酱 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 题面 "link" solution1 这道题提供两种解题思路 解题思路1: 我们枚举计算点两两之间的距离。 然后我们从小到大考虑每一个距离。 如果我们想让部落之间的最短距离最大,就要尽可能让当前的边连接的两个点在同一个部落中。 因此我们记录剩余的部落数量,每次把最短的,连接两个部落的边连接的两个部 阅读全文
posted @ 2019-08-30 21:05 颓废の子乃酱 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 题面 link solution 水题一枚,题目意思是给出n个点,每个点有一个价值,问一个边长为r的点最大能获得多大价值。 维护一个二维前缀和即可。 如果我们要求红色部分的和,是不是用整个有颜色部分的正方形的面积S - 黄色 - 绿色 - 蓝色 那么怎么利用前缀和的知识来求呢。 二维中,前缀和代表某 阅读全文
posted @ 2019-08-30 21:00 颓废の子乃酱 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 题面 link solution 贪心思路: 0x01.你这边最弱>对面最弱,那就打 0x02.若1不成立,那么你这边最强>对面最强,那也打 0x03.若1.2均不成立,用“田忌赛马”,最弱的去和最强的打,保证最小损失(记得判断等于的情况) 0x04.注意:两方分数和一定为2n,所以求最好时直接按上 阅读全文
posted @ 2019-08-30 20:58 颓废の子乃酱 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 这道题目提供三维优化的题解和没有优化的题解 不多说,先看代码 然后送上三维优化的题解 阅读全文
posted @ 2019-08-30 20:50 颓废の子乃酱 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题面 link solution 这题看起来很复杂,其实很水,注意别看错题目造成不必要的WA 废话不多说,上代码 code 阅读全文
posted @ 2019-08-30 20:47 颓废の子乃酱 阅读(647) 评论(0) 推荐(0) 编辑
摘要: question link solution 首先,我们来分析一下问题。 问题分析:不要去关心某个人。 本题提供两种解法,本质就是个数学题,AK了IMO的大佬就跳过吧 “当一个人向上走,另一人向下走而在楼道里相遇时,向上走的人将手中的箱子交给另一人,两人同时反向。”,可以看做仅仅是两人正常走过。如此 阅读全文
posted @ 2019-08-30 20:45 颓废の子乃酱 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 题目链接 link solution 有些题解的方法把这道题搞得有些复杂。我们可以简化一下简单来说就是投机取巧。因为,这道题就是要看指定的地方有没有覆盖地毯,如过有的话就输出,没有的话就照题干输出-1就好了。 总而言之就是看我下面的代码吧 code 阅读全文
posted @ 2019-08-30 20:42 颓废の子乃酱 阅读(163) 评论(0) 推荐(0) 编辑
摘要: question link solution 其实这道题挺水的, 根本没必要用STL ,用循环就够了 根本没必要用STL 我们也就废话不多说,直接上代码 阅读全文
posted @ 2019-08-30 20:39 颓废の子乃酱 阅读(834) 评论(0) 推荐(0) 编辑
摘要: 虽然别人的blog里面也有类似的文章,但有一个图床的改法是用不了的,所以来发一个简单易懂的修改方法。(目前来看是不会出现网页崩坏之类的问题的) 版主用的是firefox,所以就只会firefox,如果需要其他的可以去网上找万能的某度。 先放张效果图 第一步 安装Stylus 具体做法如下: 首先,打 阅读全文
posted @ 2019-08-30 20:32 颓废の子乃酱 阅读(4224) 评论(1) 推荐(0) 编辑