5/11
- A题 4549: Greed King [WQF补]
- D题 4552: Ke [Megumin补]
- F题 4554:Boring Game [WQF补]
- J题 4558: Coupon
- I题 4559: Easy Problem
A题 4549: Greed King [WQF补]
题意:一颗树支持两种操作:
1.给点a到b之间所有的边的边权增加c
2.查询点a到b之间的边权和
思路:简单的树链剖分,用线段树维护区间增和区间查询操作
代码请戳这里
D题 4552: Ke [Megumin补]
简单的概率DP,(dp[i][j])表示取(i)张卡后,有(j)个(hero)的概率。
状态转移方程为:(dp[i][j]=frac{j}{n}*dp[i-1][j]+frac{n-j+1}{n}*dp[i-1][j-1])
当(j=n)时,(dp[i][m]=frac{1}{n}*dp[i-1][n-1]) ,因为计算的概率是抽第m张卡时,刚好凑齐(hero)的概率
代码:http://paste.ubuntu.com/24479435/
F题 4554:Boring Game [WQF补]
[传送门](http://acm.scu.edu.cn/soj/problems.action?volume=35)题意:判断一个小矩形(a*b)是否恰好由(1-a*b)这些数字组成,是输出YES,否则输出NO
思路:随机数hash(怎么大家都会矩阵hash啊>_<)
代码请戳这里
ps:另外送两个矩阵hash大礼包:poj3690 bzoj2462
J 4558: (Coupon)[http://acm.scu.edu.cn/soj/problem.action?id=4558]
贪心 先按优惠后价格升序排序,把前k个买下来(如果可以的话)接着把剩下n-k个按原价升序排序:如果当前原价与优惠价比前k个中最大价格差小,则话价格差把优惠券“赎”回来,并用优惠价买当前的;否则直接以原价买当前的。 不正经总结:这是一个有后悔的贪心,当你穷的时候,只能买最便宜的,当你阔绰的时候开始斤斤计较,后悔前面的优惠类似题codeforces3D 代码