17.8.15B组总结
来源:互联网 发布:七月算法tensorflow 编辑:程序博客网 时间:2024/06/05 20:31
17.8.15B组总结
前言
今天比赛做的不好,就第一题a了,第四题调了两个小时还没用,才80,其他两题直接弃疗。。。
T1
一道很水的题,刚开始准备像某GMH一样码线段树,忽然看到n才100。呵呵,码暴力。
从小到大排序,在将高的与低的比较,n*n就过了。(以后千万不要想多,先看看数据再说话)。
T2
考试就码了接近的正解,可惜细节码错了,最重要的还是。。。没考虑到DP的后效性。
设f[i,j]表示到第i个点,下一次要跳j的最小代价,在每个点往前搞搞,往后搞搞,就好了。
for (j=2;j<=n;j++) { for (i=j+1;i<=n;i++) { f[i][j]=min(f[i][j],f[i-j][j-1]+a[i]); } for (i=n-j;i>=1;i--) { f[i][j]=min(f[i][j],f[i+j][j]+a[i]); } ans=min(ans,f[n][j]); }
T3
看起来很难的一道题,考试由于时间不够,只能打了个表,爆0。
对于今天的DP专题,我只能无语,后三题全是DP;不过机智的我聪明的避开了DP,直接在二分里暴力枚举大包装的个数,算出小包装,取min即可。
以下是二分过程
int l=1,r=m,mid; mid=(l+r)/2; while (l<r) { if (pd(mid)) { l=mid; mid=(l+r+1)/2; } else { r=mid-1; mid=(l+r+1)/2; } }
T4
比赛时胜于此题,也败于此题。首先,我码了两个小时,还没a,可是我的努力也没白费,有80分。
码出来还算得意吧,但DP推了我半天,也调了我半天。设f[i,j]表示到a第i位数,已确定的和为j的最小加号数。每次由前面的len(s)位推来(不大于s);,最后答案显然就是f[n,s];注意判断0(可以成为前导0)。
阅读全文
1 0
- 17.8.15B组总结
- 17.8.6B组总结
- 17.8.8 B组总结
- 17.8.14B组总结
- 17.8.17B组总结
- 17.8.18B组总结
- 17.8.12B组总结
- 17.8.18 B组总结
- 17.8.19B组总结
- 16.7.15 B组总结
- 2017.8.15 提高B组模拟总结
- 16.7.12 B组总结
- 16.7.13 B组总结
- 16.7.14 B 组总结
- 17.1.17 B组总结
- 2017.2.11B组总结
- 17.3.25 B组总结
- 17.7.11B组总结
- README
- hdu4706Children's Day
- C#编程使用Managed Wifi API连接无线SSID & C#编程使用Managed Wifi API连接无线SSID
- 【JZOJ 5276】 神奇的玩具
- 编写bat时应该注意的小问题
- 17.8.15B组总结
- 数据中设计中的范式与反范式
- LightOJ
- C++之string类学习笔记
- HihoCoder 1078(线段树,区间覆盖 询问区间和)
- Java动态代理和CGLIB代理
- 算法1.4背包(algs4)
- linux下如何使用c导入txt文件进行mysql数据库操作
- 微信支付回调效验签名