2017年川大邀请赛补题
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 代码