A. Holidays

题意:一个星球 五天工作,两天休息。给你一个1e6的数字n,问你最少和最多休息几天。
思路:我居然写成模拟题QAQ。

 #include<bits/stdc++.h>
using namespace std; //#define int long long signed main(){
int n;
cin>>n;
if(n%==){
int x=n/;x*=;
cout<<x<<" "<<x;
return ;
}
int ans1=;
int ans2=;
int i=;
int temp=n;
while(){
if(temp<=)
break;
if(i%)
temp-=;
else{
ans1+=min(temp,);temp-=min(temp,);
}
i++;
if(temp<=)
break;
}
i=;
temp=n;
while(){
if(temp<=)
break;
if(i%==)
temp-=;
else
ans2+=min(temp,),temp-=min(temp,);
i++;
if(temp<=)
break;
}
cout<<ans1<<" "<<ans2;
return ;
}
/*
6
1 2
7
2 2
8
2 3
9
2 4 */

B. Game of Robots

题意:第一个机器人报自己的编号;第二个报前一个机器人和自己的编号;第三个机器人报前两个机器人和自己的编号。以此类推。
每个机器人一个编号。问k个报什么。

思路:简化M的值。

 #include <stdio.h>
#include <string.h>
#include <algorithm>
#include<bits/stdc++.h>
using namespace std;
#define int unsigned long long
#define N 1500050
int arr[N]; signed main(){
int n,m;
cin>>n>>m; for(int i=;i<=n;i++){
cin>>arr[i]; if(m<=i){
continue;
}else{
m-=i;
}
}
cout<<arr[m];
return ;
}

C. Cinema

题意:有n个人,每个人只会一种语言(不同编号表不同语言)。
现在有m部电影,每部电影的声音是a[i],字幕是b[i]。(a[i]输入完输入b[i])
如果听得懂声音,他会非常满意,如果字幕他能看懂的话他会比较满意,否则它很不满意。
现在问看哪部电影会使得n个人满意最高(如果两部电影使n个人非常满意的人数相同时,选比较满意的最多的)。

思路:看了一些大佬的博客,都是用离散化。可是菜菜的我不会离散化QAQ。结果用个哈希MAP。居然水过。unordered_map<int,int> mp是个好东西。。。。。。。。。。。

 #include<bits/stdc++.h>

 using namespace std;
#define int long long
struct str{
int x,y,id;
}st[];
unordered_map<int,int> mp;
bool cmp(str a,str b){
if(mp[a.x]!=mp[b.x]){
return mp[a.x]>mp[b.x];
}else{
return mp[a.y]>mp[b.y];
}
}
signed main(){
int n;
cin>>n;
for(int i=;i<=n;i++){
int temp;
scanf("%lld",&temp);
mp[temp]++;
}
int m;
cin>>m;
for(int i=;i<=m;i++){
scanf("%lld",&st[i].x);
st[i].id=i;
}
for(int i=;i<=m;i++){
scanf("%lld",&st[i].y);
}
sort(st+,st++m,cmp);
cout<<st[].id;
return ;
}

D1. Magic Powder

题意:做一个蛋糕需要n个原材料,现有k个魔法材料,魔法材料可以替代成任何材料,现在告诉你蛋糕每个材料需要多少,以及你现在有多少个,问你最多能够做出多少个蛋糕来。

思路:看了一下数据范围,然后开始暴力。

AC代码:

 /*

 10 926
5 6 8 1 2 5 1 8 4 4
351 739 998 725 953 970 906 691 707 1000
*/
#include<bits/stdc++.h> using namespace std;
#define int long long
map<int,int> mp;
int arr[];
signed main(){
int n,m;
cin>>n>>m;
int temp;
for(int i=;i<=n;i++){
scanf("%lld",&temp);
mp[i]=temp;
}
for(int i=;i<=n;i++){
scanf("%lld",&arr[i]);
}
int ans=;
while(){
int flag=;
for(int i=;i<=n;i++){
if(arr[i]>=mp[i]){
arr[i]-=mp[i];
}else{
int x=mp[i]-arr[i];
if(x<=m){
m-=x;
arr[i]+=x;
arr[i]-=mp[i];
}else{
flag=;
break;
}
}
}
if(flag){
ans++;
}else{
break;
}
}
cout<<ans; return ;
}

D2. Magic Powder

二分做法。感觉以前做过类似的题目。

 #include<bits/stdc++.h>

 using namespace std;
#define N 190000
#define int unsigned long long
int n,k;
int arr[N];
int vis[N];
signed main(){
scanf("%lld%lld",&n,&k);
for(int i=;i<=n;i++)
{
int temp;
scanf("%lld",&temp);
vis[i]=temp;
}
for(int i=;i<=n;i++)
{
scanf("%lld",&arr[i]);
}
int l=;
int r=;
while(l<=r){
int mid=(l+r)/;
int sum=;
for(int i=;i<=n;i++){
if(arr[i]<vis[i]*mid){
sum+=vis[i]*mid-arr[i];
}
if(sum>k){
break;
}
}
if(sum==k){
cout<<mid;
return ;
}else if(sum<k){
l=mid+;
}else{
r=mid-;
}
}
cout<<l-;
return ;
}

Codeforces Round #350 (Div. 2) A B C D1 D2 水题【D2 【二分+枚举】好题】的更多相关文章

  1. Codeforces Round #350 (Div. 2)A,B,C,D1

    A. Holidays time limit per test 1 second memory limit per test 256 megabytes input standard input ou ...

  2. Codeforces Round #368 (Div. 2) A. Brain's Photos (水题)

    Brain's Photos 题目链接: http://codeforces.com/contest/707/problem/A Description Small, but very brave, ...

  3. Codeforces Round #350 (Div. 2) E. Correct Bracket Sequence Editor 模拟

    题目链接: http://codeforces.com/contest/670/problem/E 题解: 用STL的list和stack模拟的,没想到跑的还挺快. 代码: #include<i ...

  4. Codeforces Round #350 (Div. 2) D2. Magic Powder - 2

    题目链接: http://codeforces.com/contest/670/problem/D2 题解: 二分答案. #include<iostream> #include<cs ...

  5. Codeforces Round #350 (Div. 2) E. Correct Bracket Sequence Editor (链表)

    题目链接:http://codeforces.com/contest/670/problem/E 给你n长度的括号字符,m个操作,光标初始位置是p,'D'操作表示删除当前光标所在的字符对应的括号字符以 ...

  6. Codeforces Round #350 (Div. 2)解题报告

    codeforces 670A. Holidays 题目链接: http://codeforces.com/contest/670/problem/A 题意: A. Holidays On the p ...

  7. Codeforces Round #350 (Div. 2) E. Correct Bracket Sequence Editor 栈 链表

    E. Correct Bracket Sequence Editor 题目连接: http://www.codeforces.com/contest/670/problem/E Description ...

  8. Codeforces Round #350 (Div. 2) D1. Magic Powder - 1 二分

    D1. Magic Powder - 1 题目连接: http://www.codeforces.com/contest/670/problem/D1 Description This problem ...

  9. Codeforces Round #350 (Div. 2) C. Cinema 水题

    C. Cinema 题目连接: http://www.codeforces.com/contest/670/problem/C Description Moscow is hosting a majo ...

随机推荐

  1. 剑指offer57:二叉树的下一个结点

    1 题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针. 2 思路和方法 中序遍历,下一个结点有两种情况 a ...

  2. Python习题003

    作业一:将字符串”k:1/k1:2/k2:3/k3:4”处理成字典(比较难) 方法一 list = 'k:1/k1:2/k2:3/k3:4' new_list = list.split("/ ...

  3. PAT(B) 1019 数字黑洞(Java)

    题目链接:1019 数字黑洞 (20 point(s)) 分析 输入正整数n后,将n转成int型数组nArr[4] 用Arrays.sort(int[] a)方法将数组nArr非递减排序 很显然,非递 ...

  4. 1269: 划分数(Java)

    WUSTOJ 1269: 划分数 参考博客 果7的博客 题目   将 1 个数 n 分成 m 份,求划分的种数.更多内容点击标题. 分析   唯一需要注意的地方是不考虑顺序.其他的直接看代码即可. 代 ...

  5. 第五章:标准I/O库

    本章用于解析C语言标准I/O库,之所以在UNIX类系统的编程中会介绍C语言标准库,主要是因为UNIX和C之间具有密不可分的关系. 标准I/O库相比于操作系统的I/O库,具有更高的效率和可移植性,前者是 ...

  6. Django中的Object Relational Mapping(ORM)

    ORM 介绍 ORM 概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用 ...

  7. docker系列3--dockerd配置文件

    dockerd启动配置 docker通信方式选择 docker默认以sock文件方式提供接口,要开放tcp接口远程调用,需要修改配置文件: The Docker daemon can listen f ...

  8. (八)Redis之持久化之AOF方式

    一.概念 AOF方式:将以日志,记录每一个操作 优势:安全性相对RDB方式高很多: 劣势:效率相对RDB方式低很多: 二.案例 appendonly no默认关闭aof方式 我们修改成yes 就开启 ...

  9. ASP.NET 使用 SyndicationFeed 输出 Rss

    以前生成 RSS 都是使用拼接 Xml 的方式生成的,不仅麻烦而且还不规范. #region 输出指定分类编号的消息源内容... /// <summary> /// 输出指定分类编号的消息 ...

  10. opencv中自适应阈值函数的实现(c++)

    根据<面向飞机蒙皮接缝的线结构光检测技术研究_张卡>论文中的原理,编写了自适应阈值函数 原理: //计算灰度最大最小值 void MaxGrayValue(Mat image,int &a ...