目录

  • A. Elections【800 / 模拟】
  • B. Make it Divisible by 25【900 / 思维】
  • C. Save More Mice【1000 / 贪心】
  • D1. All are Same【1100 / 数学 最大公约数】
  • E. Gardener and Tree【1600 / 拓扑】

A. Elections【800 / 模拟】


https://codeforces.com/contest/1593/problem/A

#include<bits/stdc++.h>
using namespace std;
typedef long long int LL;
const int N=1e5*2+10;
int n,m,t;
LL a[N];
int main(void)
{cin>>t;while(t--){cin>>a[0]>>a[1]>>a[2];for(int i=0;i<3;i++){LL ans=0;for(int j=0;j<3;j++) if(i!=j) ans=max(ans,a[j]);if(ans<a[i]) cout<<0<<" ";else cout<<ans-a[i]+1<<" ";}cout<<endl;}return 0;
}

B. Make it Divisible by 25【900 / 思维】


https://codeforces.com/contest/1593/problem/B
打表找规律,你会发现只要是'00' ,'25', '75, '50'这四种情况为后缀的必为25的倍数。
故需要枚举这4种情况,贪心的删除求解,总的求一个min。

#include<bits/stdc++.h>
using namespace std;
int t;
string s;
int solve(char a,char b)
{int len=0;int k=s.size()-1;for(int i=s.size()-1;i>=0;i--) {if(len&&s[i]==b) return (len-i-1)+(k-len);if(s[i]==a) len=i;}return 1e9;
}
int main(void)
{cin>>t;while(t--){cin>>s;int ans=1e9;ans=min(ans,solve('5','2')); ans=min(ans,solve('5','7')); ans=min(ans,solve('0','5'));ans=min(ans,solve('0','0'));cout<<ans<<endl;}return 0;
}

C. Save More Mice【1000 / 贪心】


https://codeforces.com/contest/1593/problem/C
排序,从后到前的判断,可不可以,然后累加距离和。

#include<bits/stdc++.h>
using namespace std;
typedef long long int LL;
const int N=1e5*5+10;
LL t,n,k;
LL a[N];
int main(void)
{cin>>t;while(t--){cin>>n>>k;for(int i=1;i<=k;i++) cin>>a[i];sort(a+1,a+k+1);LL cnt=0,ans=0;for(int i=k;i>=1;i--){if(cnt>=a[i]) break;cnt+=n-a[i];ans++;}cout<<ans<<endl;}return 0;
}

D1. All are Same【1100 / 数学 最大公约数】


https://codeforces.com/contest/1593/problem/D1
求其除了最小数外其它数的公共最大公约数

#include<bits/stdc++.h>
using namespace std;
typedef long long int LL;
const int N=1e3*2+10;
LL t,n,a[N];
LL gcd(LL a,LL b) {return b?gcd(b,a%b):a;}
int main(void)
{cin>>t;while(t--){cin>>n;map<LL,LL>mp;for(int i=1;i<=n;i++) cin>>a[i],a[i]+=1e6,mp[a[i]]++;//统一变成正数,其实不用也可以sort(a+1,a+1+n);if(mp.size()==1) cout<<"-1"<<endl;//全部相等的情况else {vector<LL>ans;for(int i=1;i<=n;i++) if(a[i]-a[1]) ans.push_back(a[i]-a[1]);LL w=ans[0];for(int i=0;i<ans.size();i++) if(i) w=min(w,gcd(ans[i],ans[i-1]));cout<<w<<endl;}}return 0;
}

E. Gardener and Tree【1600 / 拓扑】


https://codeforces.com/contest/1593/problem/E
拓扑搞一下

#include<bits/stdc++.h>
using namespace std;
const int N=1e5*5;
int t,n,k;
int d[N]={0};
vector<int>ve[N];
int main(void)
{cin>>t;while(t--){cin>>n>>k;for(int i=1;i<=n;i++) ve[i].clear();memset(d,0,sizeof 4*(n+1));for(int i=1;i<=n-1;i++){int a,b; cin>>a>>b;ve[a].push_back(b);ve[b].push_back(a);d[a]++,d[b]++;}queue<int>q;for(int i=1;i<=n;i++) if(d[i]<=1) q.push(i);//<=1 的目的是 有孤点int cnt=n;while(q.size()&&k){queue<int>temp;cnt-=q.size();while(q.size()){auto t=q.front(); q.pop();for(int i=0;i<ve[t].size();i++){if(--d[ve[t][i]]==1) temp.push(ve[t][i]);}}q=temp;k--;}cout<<cnt<<endl;}return 0;
}

Codeforces Round #744 (Div. 3)【A-D E的题解】相关推荐

  1. 【Codeforces Round #767 (Div. 2)】 C. Meximum Array 题解

    [Codeforces Round #767 (Div. 2) ]C. Meximum Array 题解 1629C: Meximum Array 题解 [Codeforces Round #767 ...

  2. Codeforces Round #744 (Div. 3)【A-E1】

    后面的题没做,不想补了.因为最近才开始在cf上刷题,打比赛. 主要是英语太差,div3目前打算到可以很快的AC前5道,再开始攻克前6道. 以此类推,慢慢的进步吧. 目录 A. Casimir's St ...

  3. Codeforces Round #744 (Div. 3)

    吆西!!! 我是个乌鸦嘴!!! 掉了70,主要是卡B题了,一个暴力,我想着要用hash优化,实际上直接暴力:但是hash也能写,我少考虑了... A题 思路 统计'A'和'B'和'C'得数量,b == ...

  4. Codeforces Round #744 (Div. 3) B. Shifting Sort

    题目链接 一道模拟题,题意是给一个长度n的数组,用n次以下选定一个区域集体左移的操作把它排序成一个非递减的数组. 刚开始用冒泡写,结果下标和验重都出了问题,比赛直接寄了.之后换选择思路,还是在验重和不 ...

  5. Codeforces Round #411 (Div. 1)(A~D)题解

    题目链接: #411 (Div. 1) 差点翻船. 题解: A.A. 这个推导一下,找一下规律就可以了.答案是:ans=(n+1)2−1ans=\frac{(n+1)}{2}-1. B.B. 容易发现 ...

  6. Codeforces Round #645 (Div. 2) D - The Best Vacation 题解(二分+思维)

    题目链接 题目大意 一年有n个月,每个月有d[i]天,让你找出连续x天,使其日期的总和最大,可以跨年 题目思路 这里要发现一个性质:即连续的x天一定满足最后一天在月份的结尾,结论是显然的. 然后用两个 ...

  7. Codeforces Round #641 (Div. 2) D. Orac and Medians 题解(思维)

    题目链接 题目大意 就是数组里一段数可以都变成他的中位数,问整个序列能不能变成k.可以变化很多次 题目思路 emmm,根本没什么思路,看了题解感觉根本想不到啊,但是仔细想想其实确实应该那么想. 先令a ...

  8. Codeforces Round #249 Div.2 435 BD两题题解

    B D B 给个长度最多为18的数字,交换相邻数字不超过k次,求能够产生的最大数字. 该贪心的要贪心. 很明显把大的数字换到最高位显然更好. 我们从最高位开始枚举iii,从i" role=& ...

  9. Codeforces Round #509 (Div. 2) A,B,C,D 题解

    这是蒟蒻的真·第一场CF...所以其实升了1500+还是不错吧? A. Heist 题意:找包含给出的n个数的最短连续序列,输出新加入的数的最小个数. 分析:排序+扫描即可. #include< ...

最新文章

  1. Memcache - 一款图形化memcache监控工具
  2. 安装python的第一个曲折
  3. 这个在Github有52100颗星星的项目,怎么还有人不知道鸭!
  4. java没有这样的元素异常_java – 没有这样的元素异常?
  5. 工作中影响提高的一些想法
  6. 在iOS设备上如何使用Chrome浏览器的书签
  7. 面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别
  8. 解题:ZJOI 2006 书架
  9. 【GPS模组】移远EC20 基于Arduino的GPS流速仪
  10. Linux查看日志文件
  11. IGS提供的数据(转)
  12. 母函数与指数型母函数模板
  13. mysql数据库技术与项目课后答案_数据库技术与应用mysql版答案
  14. python 选择文件对话框插件_Python DearPyGui 常用控件一
  15. 【单链表】单链表的就地逆置
  16. Django项目实战——6—(退出登录、判断用户是否登录、QQ登录、QQ登录工具QQLoginTool、本机绑定域名)
  17. c 语言easyx图形库飞机大战的源码
  18. ucos通信邮箱的理解
  19. 赴美生子诚实签的五大谣言!!
  20. C#编写数据分析软件(附源码)

热门文章

  1. 数据标准化的方法与意义
  2. JavaScript---事件详解
  3. 关于这周工作中遇到的关于缓存问题的记录
  4. Ubuntu自带pdf查看器不能显示中文解决问题
  5. 中继器 集线器 网桥 交换机 路由器 网关之间的区别
  6. 测验1: Python基本语法元素 (第1周)
  7. python 语言教程(4)列表方法
  8. (chap6 Http首部) 请求首部字段 If-Modified-SinceIf-None-Match If-RangeIf-Unmidified-Since
  9. 区块链预言机(4)内在机制
  10. Linux安装python-3.8