2020年百度之星 程序设计大赛 初赛一
大家好,我是小黄呀
@Time : 2020-07-19 14:00:00 - 17:00:00
@Host : HDOJ
题目传送门
太菜了啊,三题就是极限了。。。
Drink
1001-题目
题目大意
有n种不同的饮料,第i种饮料提供x[i]
的水份,包含y[i]
的卡路里,只能选择一种饮料一直喝,现在需要至少m
毫升的水份,求出摄入的卡路里总和最小的饮料。并且一旦打开一瓶饮料,就要喝完。
思路分析(暴力)
- 直接对所有饮料进行遍历,求出每一种饮料满足
m
毫升水份,所摄入的卡路里cnt2
,然后求出最小值。 - 由于打开一瓶饮料,必须喝完,所以在求饮料瓶数是,要向上取整,用一个
ceil
函数。
具体代码
#include<bits/stdc++.h>using namespace std;int main()
{int t;cin>>t;for(int i=0;i<t;i++){int n,m;cin>>n>>m;int ans=100001;for(int j=0;j<n;j++){int x,y;cin>>x>>y;int cnt1=ceil(m/(x*1.0));int cnt2=cnt1*y;if(cnt2<ans){ans=cnt2;}}cout<<ans<<endl;}return 0;
}
GPA
1002-题目
题目大意
有4
门考试,每门考试满分100
,最低0
分,题目中给出了成绩与绩点的对应关系,现在给出4门考试的总分,求出绩点的和最大是多少
思路分析(参照大佬)
- 用一个
map<int,int>
来保存分数与绩点的对应关系,此处并将绩点*10
,方便计算,最后再/10.
,输出一位小数 - 用四个循环对四门课分数进行遍历,求出在给定总分下,绩点的最大值。这里用到了
for(auto x:mp)
,用来简化代码的。(大佬就是不一样)
具体代码
#include<bits/stdc++.h>
using namespace std;
#define ll long longmap<int,int>mp;void init(){mp[95]=43;mp[90]=40;mp[85]=37;mp[80]=33;mp[75]=30;mp[70]=27;mp[67]=23;mp[65]=20;mp[62]=17;mp[60]=10;mp[0]=0;
}#define fi first
#define se secondint T, n, ans;int main(){init();for (cin>>T;T--;){cin>>n;ans=0;for (auto a:mp)for (auto b:mp)for (auto c:mp)for (auto d:mp)if (a.fi+b.fi+c.fi+d.fi<=n)ans=max(ans,a.se+b.se+c.se+d.se);printf("%.1lf\n",ans/10.);}
}
Dec
1003-题目
题目大意
给定a
,b
两个正整数,每次从中选一个大于1
的数减1
,直到两个数都为1
,求出在整个过程中两个数互质的次数最多是多少。
思路分析
- 逆向思维,直接打表,定义一个二维数组
f[i][j]
,然后从1
开始,直到给定的最大范围1000
,求出i,j
两个整数在题目要求过程中最大互质次数,保存在f[i][j]
中。 - 其中判断两数互质,用到
__gcd(m,n)
函数。 - 输入
a,b
,输出f[a][b]
。
具体代码
#include<bits/stdc++.h>
using namespace std;int n, f[1010][1010];int main(){n=1000;for (int i=1;i<=n;++i)for (int j=1;j<=n;++j){f[i][j]=max(f[i][j-1],f[i-1][j])+(__gcd(i,j)==1);}int T, a, b;for (cin>>T;T--;){scanf("%d%d",&a,&b);printf("%d\n",f[a][b]);}
}
2020年百度之星 程序设计大赛 初赛一相关推荐
- 2020年百度之星·程序设计大赛-初赛一
Pro.ID 1001 Drink 题解 1002 GPA 题解 1003 Dec 题解 1004 Civilization 1005 Rotate 题解 1006 Matrix 1007 Mosqu ...
- 2020 年百度之星·程序设计大赛 - 初赛一 Civilization BFS广搜
problem Civilization Accepts: 619 Submissions: 2182 Time Limit: 6000/3000 MS (Java/Others) Memory Li ...
- 2020 年百度之星·程序设计大赛 - 初赛一 Dec 二维DP,预处理
problem Dec Accepts: 1284 Submissions: 4572 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 327 ...
- 2020 年百度之星·程序设计大赛 - 初赛一 GPA DFS深搜
problem GPA Accepts: 1554 Submissions: 3947 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 327 ...
- 2020 年百度之星·程序设计大赛 - 初赛一 Drink
Problem Description 我们有 nn 种不同的饮料,每种饮料有无限多瓶,第 ii 种饮料一瓶提供 x[i]x[i] 毫升的水分,包含 y[i]y[i] 卡路里. 现在我们需要选择一种饮 ...
- 2020 年百度之星程序设计大赛 - 初赛二
Poker Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Subm ...
- 2020 年百度之星·程序设计大赛 - 初赛一题解
Drink 对于每一种饮料,都可以算出最少需要多少瓶,从而知道最少摄入多少卡路里,从中找个最优值. #include <iostream> #include <cstdio>u ...
- 1001. Poker (思维 / 模拟)(2020年百度之星*程序设计大赛-初赛二)
传送门 思路: 嗐,又是这种模拟题,每次都不长记性看数据范围,非得傻傻的去循环模拟T一次才知道思考.呜呜呜太菜了. 既然每次至少拿出m,且求的是最多次数,那我们每次就拿m出来. 先将m * p%上取整 ...
- 2020年百度之星·程序设计大赛 - 初赛一(前三题)
文章目录 Drink[贪心] 题目描述 测试样例 解题思路 赛时AC代码 赛后优化AC代码 总结: GPA[枚举] 题目描述 测试样例 解题思路 赛时WA代码 赛时AC代码 总结: Dec[反向dp+ ...
- 2020 年百度之星·程序设计大赛 - 初赛三-Discount
Discount Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Subm ...
最新文章
- redis python zset
- 【Keras学习】常见问题与解答
- SAP 既是供应商,又是客户-互清(清账 F110中使用)
- java反射创建对象_java8反射创建对象
- 简易HTTP协议解析
- 使用命令行工具mc上传模型训练数据到SAP云平台Leonardo机器学习服务的AWS存储
- 机器学习算法(7)——K近邻(KNN)、K-means、模糊c-均值聚类、DBSCAN与层次与谱聚类算法
- mft按钮设计_《ZEMAX光学设计超级学习手册》一一1.2 用户界面
- dg修改归档目录 oracle_Oracle RAC归档管理: 修改归档位置(FRA和其他位置)
- php左内连接,内连接和外连接的区别是什么
- [OS X軟件] 我一直在用的 司机会看的那种 免费资源又多
- echart各种显示数据的格式化
- 魔兽争霸dota内外网p2p联机玩游戏-不需要对战平台的联机
- 让python飞:形象理解python os模块、内存硬盘、字节字符、文件读写复制
- C++ 使用海康威视SDK将视频推流到rtmp服务器
- 各个排序算法的时间复杂度、稳定性、快排的原理以及图解
- Word实用操作技巧之文字编辑(转)
- 论文查重系统的工作原理是什么?
- 【IoT】产品设计之结构工艺:锌合金表面处理及压铸件优缺点
- 计算机考试电脑故障考官说没事,山东潍坊春季高考考点计算机故障 省招考院介入...