4月17日

这几天打了两场比赛,看了几篇博客。金马五校赛,主要a了一道数位dp,然后二数这道题与队友贪心了一下。小Y作比赛这一道题倒是知道他的贪心思想,但是当时写不出来,后来看大佬的用双指针遍历。数字游戏这道题居然有人一下一下式样例过了,而且不是一个两个,失策失策。当时想写的怕超时,结果就是暴力加剪枝。昨天打的比赛主要是要注意一下文件输入输出的情况。比赛博客主要有hdu5014,题意:给出一个由0-n这n+1个数字组成的序列;  要求你给出另一个序列有0-n组成,让他们一一对应异或相加的值最大;输出最大值,和你给出的序列;我们的最大值是n,所以我们首先要找到和n互补的值是多少;  那么n-1和c+1互补;n-2和c+2也互补;类推;然后在用c-1作为最大值递归。hdu5135题意:给定m个木棍,把这些木棍组成三角形。可以不用完,问你最多摆成的三角形面积和最大。 先暴力枚举所有可能三角形的面积然后再根据状态压缩来做最多可组成n/3个三角形  对每个三角形都记录三边或运算和面积然后判断进行合并就行了。hdu 5122 从n个数中任选一些数,问有多少种选法使他们异或和不小于M。用dp[i][j]表示选i个数异或和为j,则方程dp[i][j] = dp[i-1][j](不选i)+ dp[i-1][j^a[i]]。真正看到的新的dp写法是这样的uva10118,题意:有4堆糖果,每堆有n个,有一个篮子,最多装5个糖果,每次只能从某一堆糖果里拿出一个糖果,如果篮子里有两个相同的糖果,那么就可以把这两个糖果放进自己的口袋里,问最多能拿走多少对糖果。糖果种类最多20种。定义dp(a,b,c,d)为每堆糖果分别拿掉a、b、c、d块之后最多能获得得糖果对数。则决策有4个,以第一堆为例,状态转移方程为:dp(a,b,c,d)=dp(a+1,b,c,d) //如果拿掉第一堆的第a+1个不会产生相同颜色,dp(a,b,c,d)=dp(a+1,b,c,d)+1 //如果拿掉第一堆的第a+1个会产生相同颜色。用记忆化搜索来写。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值