题目链接

密码:12345678

有些题目用到了枚举,贪心,二分什么的,实际上这并不是什么算法,只是一种思想,用多了就会觉得很自然。

A题:题目的意思是给出n个数,要使每个数加上一定的数是得每个都相等,问一共至少加多少?

找出最大值,计算每个数与他的差值求和即可
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <string>
using namespace std;
int a[100005];
int main()
{int n;while(~scanf("%d",&n)){int mx=-1;for(int i=0;i<n;i++){scanf("%d",&a[i]);if(a[i]>mx)mx=a[i];}int sum=0;for(int i=0;i<n;i++)sum+=(mx-a[i]);printf("%d\n",sum);}return 0;
}

B题:给出每个超市饮料的价格,及每天可以支付的钱,求每天最多可以到几个超市买饮料。数据较大,要用到二分。

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int a[100000+10];
int main()
{int n,i,j,k,num,m;while(scanf("%d",&n)!=EOF){for(i=1;i<=n;i++)scanf("%d",&a[i]);sort(a+1,a+n+1);scanf("%d",&m);while(m--){scanf("%d",&num);if(num<a[1])printf("0\n");else if(num>=a[n])printf("%d\n",n);else{int left=1;int right=n;int mid;int ans;while(left<=right){mid=(left+right)/2;if(a[mid]<=num){ans=mid;left=mid+1;}else{right=mid-1;}}printf("%d\n",ans);}}}return 0;
}

C题:两个游戏手柄都要充电,但只有一个充电器,每分钟会消耗2%的电(就是数值减小2)不充电的情况下,会得到1%的电充电时(就是把数增加1),不能同时充电和消耗,然后给出初始电量,求能持续的最长时间。贪心模拟就行了,每次充电时优先给电量少的充电。

#include <iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{int a1,a2,s;while(~scanf("%d%d",&a1,&a2)){s=0;while(a1>0&&a2>0){if(a1==a2&&a1==1)break;if(a1>a2){a1=a1-2;a2=a2+1;}else{a1=a1+1;a2=a2-2;}s++;}printf("%d\n",s);}return 0;
}

D题:有n根木棍,每次两个人轮流取出来k个,如果某一回合剩下不足k根,则游戏结束。问第一个人的操作次数是否会比第二个人的多。 思路:看比了几场,偶数场就输了,奇数场就赢了。

#include<iostream>
using namespace std;
int main()
{long long n,k;while(cin>>n>>k){if((n/k)%2) cout<<"YES"<<endl;else    cout<<"NO"<<endl;}return 0;
}

E题:给出n个棱长全为1的正方体,求包装这些立方体所需要的包装纸的最小表面积! 数据量比较小,暴力枚举一下就行了。

#include<iostream>
using namespace std;
int main()
{int c;cin>>c;while(c--){int n,minn=99999999;cin>>n;for(int i=1;i<=n;i++)for(int j=i;i*j<=n;j++)for(int k=j;i*j*k<=n;k++)if(i*j*k==n&&(i*j+i*k+j*k)min=2*(i*j+i*k+j*k);cout<<minn<<endl;}return 0;
}

F题:关键是读懂题意,计算给出的除最后一位的数字的和,然后要是偶数并且最后一位是e的话或者最后一位是o但是和为奇数,就输出0,否则输出1。很简单,枚举后再判断一下就行了。

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#define ll long long
using namespace std;
int main()
{char a[10010];while(scanf("%s",a)!=EOF){if(strcmp(a,"#")==0)break;int len=strlen(a);int sum=0;for(int i=0;i<len-1;i++)sum+=(a[i]-48);if((sum%2==0&&a[len-1]=='e')||(sum%2==1&&a[len-1]=='o'))a[len-1]='0';elsea[len-1]='1';cout<<a<<endl;}return 0;
}

G题:把输入的十进制数转换成二进制数,然后输出1所在的“位置”(从0开始算)。把这个十进制数转换二进制存到一个数组里,然后枚举一下,判断一下就行了。

#include<stdio.h>
int main()
{int t;scanf("%d",&t);while(t--){int arr[10000];int k=0;int n;scanf("%d",&n);while(n){arr[k++]=n%2;n/=2;}int flag=0;for(int i=0;i<k;i++){if(arr[i]==1){if(flag==1)printf(" ");flag=1;printf("%d",i);}}printf("\n");}return 0;
}

有些题目用到了枚举,贪心,二分什么的,实际上这并不是什么算法,只是一种思想,用多了就会觉得很自然。

NENU 17级算法学习小组 Roun4 0620相关推荐

  1. NENU 17级算法学习小组Round 3 0606

    题目链接 密码:12345678 A题:非常简单.不过容易PE,需要注意空格和空行的输出,用printf输入的时候需要注意getchar()的使用. #include <iostream> ...

  2. 视觉机器学习20讲-MATLAB源码示例(17)-RBM学习算法

    视觉机器学习20讲-MATLAB源码示例(17)-RBM学习算法 1. RBM学习算法 2. Matlab仿真 3. 仿真结果 4. 小结 1. RBM学习算法 受限玻尔兹曼机(restricted ...

  3. 机器学习knn算法学习笔记使用sklearn库 ,莺尾花实例

    ** 机器学习knn算法学习笔记使用sklearn库 ,莺尾花实例. 具体knn算法是怎样的我这里就不再详细论述.在这里我注意总结我使用knn算法进行一个分类的分析 ** 分析过程 1.前期准备 引入 ...

  4. LeetCode数据结构与算法学习Day03

    LeetCode数据结构与算法学习Day03 图解数据结构与算法 59 I 滑动窗口最大值 题目描述: 解题思路: 59 II 队列的最大值 题目描述: 解题思路: 67 把字符串转换成整数 题目描述 ...

  5. 算法学习 (门徒计划)3-2 哈希表与布隆过滤器及经典问题 学习笔记

    算法学习 (门徒计划)3-2 哈希表与布隆过滤器及经典问题 学习笔记 前言 哈希表 哈希操作 冲突处理 开放定址法 再哈希法 公共溢出区 链式地址法 扩容哈希表 设计简易哈希表 总结 布隆过滤器 对比 ...

  6. 腾讯首位17级杰出科学家正式诞生!腾讯AI Lab负责人张正友博士获此殊荣

    点击上方"CVer",选择加"星标"置顶 重磅干货,第一时间送达 来源:鹅厂技术派 就在刚刚,鹅厂首位17级研究员/杰出科学家诞生,腾讯AI Lab及腾讯Rob ...

  7. 无限风光 : 近来地形算法学习小结【转】

    无限风光 : 近来地形算法学习小结 原文链接   目录 -写在前面 -本文话题整体观 -概念(Concepts): 入门须知      -高度图(HeightMap)      -分形(Fractal ...

  8. bzoj3442 学习小组

    目前处于迷之TLE状态 -----6.21更新 已AC 3442: 学习小组 Time Limit: 5 Sec  Memory Limit: 128 MB Submit: 200  Solved:  ...

  9. 拿下斯坦福和剑桥双offer,00后的算法学习之路

    董文馨,00后,精通英语,西班牙语.斯坦福大学计算机系和剑桥大学双Offer,秋季将进入斯坦福大学学习. 10岁开始在国外上学:12岁学Scratch: 13岁学HTML & CSS: 14岁 ...

最新文章

  1. Winform DataGridView列的单元格中动态添加图片和文字
  2. hdu3594 强连通 tarjan
  3. Apache Spark学习:利用Eclipse构建Spark集成开发环境
  4. python自定义函数详解_python基础教程之自定义函数介绍
  5. python实验三答案_20194123 实验三《Python程序设计》实验报告
  6. 浅谈XSS攻击的那些事(附常用绕过姿势)
  7. 2017.10.25 打鼹鼠 思考记录
  8. Python:遍历指定目录下所有的c语言源代码文件
  9. 一定要收藏,一位百万年薪Python程序员手写资料(附实例分享)
  10. 蒙特卡罗方法(Monte Carlo)
  11. 今天小暑是什么时间_小暑时间是什么?代表什么?
  12. 基于.net的当下传统制造业MES系统的思考(一)
  13. 怎样对平面中的点进行顺时针或者逆时针排序
  14. Trojan-Banker.Win32.Banker (2)
  15. selenium中使用Microsoft Edge浏览器驱动下载
  16. 精通正则表达式笔记一---正则表达式基础概念[ ],[^ ],.,^,$,\<,\>,|,(),-
  17. java时间计算同比环比周的问题
  18. AdServices归因和iAd归因集成
  19. JavaWeb学习笔记:JavaScript-鼠标悬浮和离开
  20. 呵呵哒!手把手教你C语言结构体与共同体

热门文章

  1. leetcode 1363 形成三的最大倍数(C++)
  2. 优盘中发现计算机病毒怎么办,U盘插入电脑中发现autorun.inf病毒怎么删除
  3. 无锡新区新洲生活广场
  4. MOT综述 (2021)
  5. 荷兰黑客将他孩子的乐高列车放在区块链上
  6. 用 Java Servlet 实现文件上载(老文新发)
  7. saveig.org,帮你批量下载爱豆的Instagram照片
  8. 阿里云高校——‘学生在家实践’--云计算最全题目
  9. java计算机毕业设计web唐院寻人表白系统(附源码、数据库)
  10. python turtle什么意思_python的turtle模块可以画什么