[Codeforces Round #436](Div. 2)
来源:互联网 发布:牛贝公众号淘宝客系统 编辑:程序博客网 时间:2024/06/06 17:54
比赛题目
博主果然很蠢。。。CF定级赛打残了。。。挂了一道水水水水题。。。
时间范围绰绰有余的是前4道题
而博主把C的纯模拟挂了( ̄_, ̄ ),rating-7,好好好我已经很满意了
C题:
如果ta要求的是单程路,只要b>f && b>a-f 都是可以有解的
如果ta要求的不是单程路,只要b>2*f && b>(a-f)*2都是可以有解的
然后纯模拟路程情况就可以了啊
如果走下半程的路走不下去了,就(在思想上)跑到已经过去的加油站加上油再走,ans++
代码简洁:
#include <cstdio>#include <cstring>#include <iostream>using namespace std;int now,a,b,f,k,ans;int main(){ int i; scanf("%d%d%d%d",&a,&b,&f,&k),now=b; if(b<f||b<a-f||(k>1&&b<(a-f)*2)||(k>2&&b<f*2)) { printf("-1"); return 0; } for(i=1;i<=k;i++) { if(i&1) { if(now<f) now=b-f,ans++; now-=f; if(now<a-f) now=b,ans++; now-=a-f; } else { if(now<a-f) now=b-(a-f),ans++; now-=a-f; if(now<f) now=b,ans++; now-=f; } } printf("%d\n",ans); return 0;}
E题:
因为博主的愚蠢,这道题还没大看就over了
这个题不是一个背包嘛。。。。好的f[i]表示前i时间的最大价值
记录方案用vector很方便,二维数组也是资瓷的
#include <cstdio>#include <iostream>#include <cstring>#include <algorithm>#include <vector>using namespace std;struct hh{int t,d,z,id;}a[105];int f[2005];vector<int>s[2005],m;int cmp(hh a,hh b){return a.d<b.d;}int main(){ int n,i,j; scanf("%d",&n); for (i=1;i<=n;i++) scanf("%d%d%d",&a[i].t,&a[i].d,&a[i].z),a[i].id=i; sort(a+1,a+n+1,cmp); for (i=1;i<=n;i++) for (j=a[i].d-1;j>=a[i].t;j--) if (f[j]<f[j-a[i].t]+a[i].z) { f[j]=f[j-a[i].t]+a[i].z; s[j]=s[j-a[i].t]; s[j].push_back(a[i].id); } int maxx=0; for (i=0;i<=2000;i++) if (f[i]>maxx) { maxx=f[i]; m=s[i]; } printf("%d\n%d\n",maxx,m.size()); for (i=0;i<m.size();i++) printf("%d ",m[i]);}
Emmm…补一句,其实青名我也很喜欢。
阅读全文
1 0
- Codeforces Round #436 (Div. 2)
- Codeforces Round #436 (Div. 2)
- [Codeforces Round #436](Div. 2)
- Codeforces Round #436 (Div. 2)
- Codeforces Round #436 (Div. 2)
- Codeforces Round #436 (Div. 2)
- [Codeforces Round #436 (Div. 2)]
- Codeforces Round #436 (Div. 2)
- Codeforces Round #436 (Div. 2)
- Codeforces Round #436 (Div. 2)
- Codeforces Round #436 (Div. 2)
- Codeforces Round #436 (Div. 2) E. Fire
- Codeforces Round #436 (Div. 2) (题解)
- Codeforces Round #436 (Div. 2)E.Fire
- Codeforces Round #436 (Div. 2) C. Bus
- Codeforces Round #436 (Div. 2) Fire
- Codeforces Round #436 (Div. 2)Bus
- Codeforces Round #436 (Div. 2) 解题报告
- Windows平台下用命令快速打开Linux虚拟机的技巧
- 20个非常有用的Java程序片段
- 深度学习-21天实战caffe 笔记
- android中遇到 ANR问题及解决
- BZOJ1109: [POI2007]堆积木Klo
- [Codeforces Round #436](Div. 2)
- Java线程池使用与原理
- 转载:自动化测试金字塔与反模式
- 小白算法学习 KMP
- BZOJ1110: [POI2007]砝码Odw
- BI Informatica 汇总组件
- ansible常用模块用法
- 建筑的永恒之道-道与禅
- 用html5 js实现浏览器全屏