很久不写题解了 因为最近一直在刷acwing和kuangbin的专题 acwing题解直接在acwing上传了 而kuangbin做了几个半个专题 完整了会写题解的

因为身体原因最近总是眼睛疼所以很少熬夜了,cf打的少了 atcoder的题比较基础也没怎么发 昨天打了一场cf edu场 打了ABC 赛后补了D E题看题解是树状数组 还不是很熟练就没有补 暂且先是ABCD吧

A:当时本来想找规律,最后还是用的暴力枚举,但是赛后看了看其实大部分人用的也是暴力(果然暴力出奇迹

#include<bits/stdc++.h>
const int N=1e5+10;
typedef long long ll;
using namespace std;
int t,n;
int s[N];
int main()
{cin>>t;while(t--){int n;cin>>n;int a,b,c;a=n/3;b=n/5;c=n/7;bool flag=false;for(int i=0;i<=a;i++){for(int j=0;j<=b;j++){if((n-3*i-5*j)%7==0){flag=true;cout<<i<<' '<<j<<' '<<(n-3*i-5*j)/7<<endl;break;}}if(flag) break;}if(!flag) cout<<-1<<endl;}
}

B 题意是给一堆水桶 然后给你规定一个倒水次数k 然后问你能达到的最大水位差是多少 那肯定是sort一下,然后求前k个数和就行了

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
long long s[N];
bool cmp(long long a,long long b)
{return a>b;
}
int main()
{int t;cin>>t;while(t--){long long  n;long long k;cin>>n>>k;for(int i=1;i<=n;i++)cin>>s[i];sort(s+1,s+n+1,cmp);long long sum=0;for(int i=1;i<=min(k+1,n);i++){sum+=s[i];}cout<<sum<<endl;}
}
C 题意就是给你个数n,然后从1-n,让你通过n-1次融合,融合就是两个数求和除以二向上取整,让你输出得到最小数的过程,规律很容易看出 每次取奇偶性相同的两个最大值,也就是说最大值是必取的,然后到底是取次大值还是次次大值要看奇偶性,可以用优先队列维护
#include<bits/stdc++.h>
using namespace std;int main()
{int t;cin>>t;while(t--){priority_queue<int >heap;int n;cin>>n;for(int i=1;i<=n;i++)heap.push(i);cout<<2<<endl;for(int i=1;i<=n-1;i++){int z=heap.top();heap.pop();int k=heap.top();heap.pop();if(z%2==k%2 || heap.size()==0){cout<<z<<' '<<k<<endl;int m=(k+z)/2;heap.push(m);}else{int h=heap.top();heap.pop();heap.push(k);cout<<z<<' '<<h<<endl;heap.push((z+h)/2);}}}}

D d其实就是个双指针,哎,当时做的时候没啥思路,思路就是:我们先用一个数组记录下每组数的个数,然后我们用一个指针指向这个数组的‘头’,另一个指针指向第一个个数大于1的下标,然后如果数组的‘头’的个数就大于1就直接删除就好了,如果不是的话,让第二个指针指向的数减一再删去数组头。

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
long long  b[N];
int a[N];
int main()
{int t;cin>>t;while(t--){long long  n;cin>>n;for(int i=1;i<=n;i++){scanf("%1d",&a[i]);}a[n+1]=-1;long long  cnt=1;long long num=0;for(int i=2;i<=n+1;i++){if(a[i]==a[i-1]) cnt++;else {b[++num]=cnt;cnt=1; }}int  ans=0;if(num==1) {cout<<1<<endl;continue;}int j=1;int i=1;while(i<=j && i<=num){if(b[i]>=2){i++;ans++;}else{while(j<=num){if(b[j]==1) j++;else break;}if(j<=num && b[j]>=1){b[j]--;i++;}else{i++;i++;}ans++;}while(j<i) j++;}cout<<ans<<endl;}return 0;
}

Educational Codeforces Round 96 (Rated for Div. 2) ABCD相关推荐

  1. Educational Codeforces Round 113 (Rated for Div. 2) ABCD 解题思路

    Educational Codeforces Round 113 (Rated for Div. 2) 经典卡CCC秒DDD,可惜了 怪自己特判写错了吧,对式子找了半天问题结果根本不是式子的问题 A ...

  2. Educational Codeforces Round 96 (Rated for Div. 2)

    今天先补了上一场的Codeforces Global Round 11三道题,做的心神恍惚,然后17点报名没敢提交,先写了4个题剩下的改天补一补 我是真的服信号,卷积卷si我了 A - Number ...

  3. C. Numbers on Whiteboard(模拟+贪心) Educational Codeforces Round 96 (Rated for Div. 2)

    原题链接: https://codeforces.com/contest/1430/problem/C 测试样例 input 1 4 output 2 2 4 3 3 3 1 题意: 给定一个 1 1 ...

  4. Educational Codeforces Round 96 (Rated for Div. 2) C. Numbers on Whiteboard///思维

    cf地址 题目大意:给一个数n,有1~n的数,每次现在两个数a,b,将这两个数去掉,然后添加一个(a+b)/2的数(向上取整),进行n-1次操作后,问你最后剩下的数最小是多少. 思路:最小的数必定为2 ...

  5. Educational Codeforces Round 96 (Rated for Div. 2) C. Numbers on Whiteboard(构造)

    C. Numbers on Whiteboard 题意: 给你一个排列1-n,每次可以选择两个数,( ⌈ a + b 2 ⌉ \lceil \frac{a+b}{2} \rceil ⌈2a+b​⌉)进 ...

  6. Educational Codeforces Round 96 (Rated for Div. 2)C. Numbers on Whiteboard(贪心算法(水题))

    题目链接: 传送门 题目贴上: 题意:,给你 1-n个数,你可以对两个不同位置的数进行合并,比如a和b,合成数变成(a+b)/2,结果四舍五入.放在数组末尾,删除原来的a和b,举例子吧 就这样子两两合 ...

  7. Educational Codeforces Round 90 (Rated for Div. 2)(A, B, C, D, E)

    Educational Codeforces Round 90 (Rated for Div. 2) Donut Shops 思路 分三种情况: a==c/ba == c / ba==c/b这个时候两 ...

  8. Educational Codeforces Round 114 (Rated for Div. 2) (A ~ F)全题解

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Educational Codeforces Round 114 (Rated for Div. 2) ...

  9. Educational Codeforces Round 106 (Rated for Div. 2)(A ~ E)题解(每日训练 Day.16 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 Educational Codeforces Round 106 (Rated for Div. ...

最新文章

  1. iOS Provisioning Profile(Certificate)与Code Signing详解
  2. VTK:直线网格之RectilinearGrid
  3. MySQL复习资料(四)——MySQL-聚合函数
  4. System Test GIS压力测试利器
  5. Python 写各大聊天系统的屏蔽脏话功能原理
  6. react div组件设置可点击不可点击_React面试全解
  7. arch开机自动认证
  8. 如何从SQL Server查找指定的临时表
  9. 基于Cocos2d-x开发guardCarrot--5 《保卫萝卜2》主页面音频
  10. 一些有价值的数值公式(游戏)
  11. MyCAT-1.4-RC基准测试
  12. 算法知识点——(1)特征工程
  13. Docker笔记(基础篇)
  14. Android Studio4.0解决Gradle下载超时问题
  15. JavaCV人脸识别三部曲之二:训练
  16. php中的gd图像处理,PHP图像处理(GD库)
  17. 漏型与源型、PNP与NPN
  18. 『开源项目』基于STM32的智能垃圾桶之语音播报
  19. 数据结构基础学习笔记目录
  20. 转载:SpringBoot非官方教程 | 第二十四篇: springboot整合docker

热门文章

  1. electron调用第三方dll(附带dll)
  2. 医学图像预处理(二)——重采样(resampling)
  3. 外贸邮箱的格式是什么样的?邮箱的注册方式有哪些?
  4. MongoDB-python操作mongodb
  5. 面试题之空瓶子换水问题及其扩展规律(python实现)
  6. OSChina 周四乱弹 —— 曾经有只老鹰冲着我提需求
  7. C语言程序设计:编写函数,求一组数中大于平均值的数的个数
  8. 秋叶PPT高效训练营笔记 —— Day 1素材
  9. day11-random模块-随机
  10. 到底什么是SDWAN服务?