Codeforces Round #178 (Div. 2)(完全)

我用贪心搞的,别人说可以用背包

因为t只是1或2, 我们把书分成1和2两堆,然后分别按w排序(大的在前面),然后分别枚举1和2选了几个,肯定是从每堆的第一个开始取的。

code


C

把题目转化为求剩下灯的数字排放顺序,高中题,组合数学搞一下, 中间有个二分幂。

code


D

简单模拟题, 如果遇到(同一基点和同一方向)2次就输出-1, 判断什么时候停止就是(四条边上的黑点都被访问过了)。

注意边上的黑点有可能经过两次,用2个set维护一下即可。

code


E

树形DP,树上的操作。

枚举每条修改的边,然后对这条边(u----v)两端的树(分别为树A,B,其节点个数分别为a,b)处理边计算的次数。

总费用为: 枚举的这条边的费用*a*b + a *(树B中所有点走到v的总费用) + b *(树A中所有点走到u的总费用) + 树A中每个点相互流动的总费用 +  树B中每个点相互流动的总费用。

具体细节还得自己分析,这样可以达到强化树操作的目的。

code


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值