目录

Dec

Covid

Car

Intersection


Dec

2020 年百度之星·程序设计大赛 - 初赛一

HUD 6745

 题解:

线性DP;f(i,j) 表示从i开始减,从j开始减时互质的次数最多是多少;

转移状态为 f(i , j) = max(  f(i-1,j) ,f( i, j-1) ) +(__gcd(i,j)==1 ? 1 : 0)

#include <bits/stdc++.h>
using namespace std;
const int N=1011;
int f[N][N];
int main()
{int t;cin >>t;for(int i=1;i<=1010;i++){for(int j=1;j<=1010;j++){f[i][j]=max(f[i-1][j],f[i][j-1])+(__gcd(i,j)==1 ? 1 : 0);}}while(t--){int a,b;scanf("%d %d",&a,&b);printf("%d\n",f[a][b]);}
}

Covid

HDU6777

题解 

官方题解是:

其实,暴力可以直接做;把 所有出现在某一时刻某一地点的所有人放在一起;然后按照时间的流逝暴力枚举所有的状态,只要此时此地中有一个人有荧光,那么给所有人都标记即可;

#include <bits/stdc++.h>
using namespace std;
const int N=20005;
int a[N];
int main()
{int t ;cin >>t;while(t--){vector<int> pos[120][15];memset(a,0,sizeof a);a[1]=1;int n;cin >>n;for(int i=1;i<=n;i++){int len;cin >>len;while(len--){int t,p;cin >>t>>p;pos[t][p].push_back(i);}}for(int i=1;i<=110;i++){for(int k=1;k<=10;k++){for(auto j : pos[i][k]){if(a[j]==1){for(auto p : pos[i][k]) a[p]=1;break;}}}}for(int i=1;i<=n;i++){if(a[i]){/*最后输出,貌似程序不卡这个格式的空格*/if(i==1)printf("%d",i);elseprintf(" %d",i);}}printf("\n");}
}

Car

 HDU6778

题解:

官方题解

实际上不用二分,直接状压DP也能做;

f(i,state) 表示前i天,尾号被限制的总状态为 state时,未被限号的车的数量的最小值

状态转移就是首先根据前i-1的状态j,枚举第i天的合法限号状态k,然后取前i-1天限号状态的最大值,前i天的最小值即可;

#include <bits/stdc++.h>
using namespace std;
const int N=20;
int a[N],n;
int f[6][1<<10+7];
int get(int x)
{int res=n;for(int i=0;i<10;i++){if(x>>i&1) res-=a[i]; }return res;
}
int main()
{int t;cin >>t;while(t--){memset(a,0,sizeof a);memset(f,0x3f,sizeof f);cin >>n;for(int i=0;i<n;i++) {int x;scanf("%d",&x);a[x%10]++;}for(int i=0;i<1024;i++) f[1][i]=get(i);for(int i=2;i<=5;i++){for(int j=0;j<1024;j++){for(int k=0;k<1024;k++){if(j&k) continue;f[i][j|k]=min(f[i][j|k],max(f[i-1][j],get(k))); }}}int ans=0x3f3f3f3f;for(int i=0;i<1024;i++) ans=min(ans,f[5][i]);cout <<ans<<endl;}return 0;
}
//10101100   k
//01010000   j

Intersection

HDU6786

题解

如果不考虑撞车,那么所有车一定是走左右向靠下的车道最优。从最 右下角的车辆位置枚举开始只要存在两个车的位置如下,那么就会出现撞车的情况,这时只能让一个车先走了,那么时间就+1;

#include <bits/stdc++.h>
using namespace std;
map<pair<int,int>,int > mp;
int x[100000],y[100010];
struct node
{int x,y;
}a[100000];
int cmp(node a,node b) {if(a.y == b.y) return a.x > b.x;return a.y > b.y;
}
int main()
{int t;scanf("%d",&t);while(t--){mp.clear(); int n;cin >>n;int ans=0;for(int i=0;i<n;i++){scanf("%d %d",&a[i].x,&a[i].y);mp[{a[i].x,a[i].y}]++;ans=max(ans,a[i].x+a[i].y); }sort(a ,a  + n,cmp);for(int i=0;i<n;i++){int num=a[i].x+a[i].y;if(mp[{a[i].x+1,a[i].y-1}]) num++; ans=max(ans,num);}printf("%d\n",ans);}return 0;
}

2020 年百度之星·程序设计大赛部分题解相关推荐

  1. 2020 年百度之星·程序设计大赛 · 官方题解汇总

    1.测试赛 2.初赛一 留个备份,方便以后找 3.初赛二 4.初赛三 5.复赛

  2. 2020年百度之星·程序设计大赛-初赛一

    Pro.ID 1001 Drink 题解 1002 GPA 题解 1003 Dec 题解 1004 Civilization 1005 Rotate 题解 1006 Matrix 1007 Mosqu ...

  3. 2020 年百度之星·程序设计大赛 - 复赛 1002 Binary Addition

    problem Binary Addition Accepts: 851 Submissions: 3320 Time Limit: 2000/1000 MS (Java/Others) Memory ...

  4. 2020 年百度之星·程序设计大赛 - 复赛 1001Battle for Wosneth

    problem Battle for Wosneth Accepts: 1174 Submissions: 5432 Time Limit: 2000/1000 MS (Java/Others) Me ...

  5. 2020 年百度之星·程序设计大赛 - 初赛一 Civilization BFS广搜

    problem Civilization Accepts: 619 Submissions: 2182 Time Limit: 6000/3000 MS (Java/Others) Memory Li ...

  6. 2020 年百度之星·程序设计大赛 - 初赛一 Dec 二维DP,预处理

    problem Dec Accepts: 1284 Submissions: 4572 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 327 ...

  7. 2020 年百度之星·程序设计大赛 - 初赛一 GPA DFS深搜

    problem GPA Accepts: 1554 Submissions: 3947 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 327 ...

  8. 2020 年百度之星·程序设计大赛 - 初赛一 Drink

    Problem Description 我们有 nn 种不同的饮料,每种饮料有无限多瓶,第 ii 种饮料一瓶提供 x[i]x[i] 毫升的水分,包含 y[i]y[i] 卡路里. 现在我们需要选择一种饮 ...

  9. 2020 年百度之星·程序设计大赛 - 测试赛1001 度度熊保护村庄

    Problem Description 哗啦啦村袭击了喵哈哈村! 度度熊为了拯救喵哈哈村,带着自己的伙伴去救援喵哈哈村去了!度度熊与伙伴们很快的就过来占据了喵哈哈村的各个军事要地,牢牢的守住了喵哈哈村 ...

最新文章

  1. Spring Hibernate Mybatis配置详解
  2. 判断一个数是否是2的倍数----------面试算法
  3. 黑马程序员——Java正则表达式
  4. 【SSM框架系列】SpringMVC的请求和响应
  5. 双字节数据 先低后高_1.4 C++数据类型
  6. 基于RT-Thread实现的小游戏(贪吃蛇、俄罗斯方块)
  7. vrep中remoteAPI 编程中遇到的没有预留命令执行时间遇到的问题
  8. Errors reported here must be corrected before the service can be started.
  9. 创建maven parent project module project
  10. 【渝粤教育】电大中专药物化学基础作业 题库
  11. Go语言实战 (William,Kennedy 等著)
  12. mount failed: mount failed: exit status 1
  13. 【C语言】判断素数的函数
  14. 简单实用口才训练方法集
  15. C语言中时间相关函数总结
  16. CleanMyMacX4.15好用吗?CleanMyMac X2023安全吗?
  17. 用AkShare获取沪深京A股所有股票历史数据
  18. 4399U3D笔试题
  19. 揭秘世上唯一无癌国家吃什么?原来肿瘤也有克星
  20. 安装系列—火狐浏览器添加组件‘firebug’却无法找到?

热门文章

  1. vue-pdf-signature
  2. 重看刘德华、吴彦祖港版《门徒》有感
  3. 网络爬虫学习3 - Requests库的七个主要方法、安全性问题与异常处理、反爬虫和Robots协议
  4. hivesql修改字段类型_Hive 数据类型 + Hive sql
  5. JavaCore-深入理解注解-Annotation
  6. Qt实现透明按钮仅显示图标(亲测可用)
  7. JUC第一讲:juc并发包深入理解(P6熟练 P7精通)
  8. css3 呼吸的莲花_CSS3制作莲花开放
  9. IO虚拟化 - vitio-blk后端驱动分析【转】
  10. 经管好书推荐:《新品类战略》