2018.8.13

T1

 

f(d) 表示树上,度数为d 的一个点能够获取的价值。
构造一个树的 \sum ^{n-1}_{i=1}f(d)的最大值

 

树上构造,但是这个问题可以转化

构造问题最难解决的是绝大多数信息都是根据构造的模样而改变的,所以构造题目可以寻求不变量或者规律

(我这题写树上背包写错了,丢人)

比如这道题的变量很多很多,比如点连的儿子的度数,儿子的儿子的度数,自己的度数,爸爸的度数 …… 太多了完全搞不定啊,考试的时候我找到了一个不定量,其实有两个:

1、所有点度数和为(N - 1)* 2;(找出)

2、所有点向儿子的出度和为 N - 2(未找出)

 

利用第二个不定量,我们就可以搞事了,为了保证一定有 1 的入度,那么我们就可以将另外的 N - 2 个度分配就好了,这样可以搞Dp 了;

Dp状态太难定啦,我们要分配 N - 2 个入度的话,首先每个点一定是有1度数的贡献的,那么没有分度数的时候 Dp(0)= f(1)* N不如定义 Dp(i)表示已经分配了 i 个度数所获得的价值,那么对于某一个点我们可以将剩余的某一些的度数全部塞到它身上,所以状态转移就很显然(其实很难想哎)啦,如果 Dp(i)需要从 Dp(j)转移过来,那么相当于给一个点强塞了 i - j - 1 的度数(这个点不会被再分配(相当于一次性分配)),那么之前加上的 f(1)需要换成 f(i - j + 1),转移就好了,答案是 Dp(N - 2)

 

T2

 

j(n; k) =\sum ^{n}_{i=1}{kmodi}

 

抱歉这道题我傻了没听 Zyl 讲整除分块切不掉 QwQ

首先打了个大表发现没有任何和规律,乖乖打了暴力

 

整除分块的思想就是对于一个找不出快速计算的式子挖掘出其内部规律,加快计算,这个规律是对于某一块来说是成立的,那么这一块的贡献可以 O(1)算出

 

 这题要是我学过整除分块肯定就切了 Md …… 

 

首先对于式子的某一项来说是 K% i,如果 i > K 了直接就是 K 了,考虑 i < K 的情况 

答案一定是 K - [ k / i ] * i,那么我们考虑一下这个答案的特征是什么?[ K / i ] 是连续的一段所以直接数列求和就好啦

 

T3

 

二分切了拜拜 ……

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值