说在前面:

本萌新第一次打CF,只A出来四题QAQ,不过好歹没有掉分哈哈哈,+13分

A. Plus One on the Subset.

Problem - A - Codeforceshttps://codeforces.com/contest/1624/problem/A题目大意是给定一个数列,每次可以选择任意个数+1,最少要进行多少次操作才能使所有数都相等

Solution:

妥妥的签到题,找最大数减去最小数就是操作次数了

Code:

#include<bits/stdc++.h>
using namespace std;
int minn = 0x3f3f3f3f;
int maxn;
int t;
int main()
{cin>>t;while(t--){minn = 0x3f3f3f3f;maxn = 0;int n;cin>>n;for(int i = 1;i<=n;++i){int x;cin>>x;minn = min(x,minn);maxn = max(maxn,x);}cout<<maxn-minn<<endl;}return 0;} 

B. Make APProblem - B - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/contest/1624/problem/B题目大意是给定一个三元组(a,b,c),请问令其中任意一个数乘以一个整数能否成为一个等差数列.

Solution:

本题也不难,分别模拟以c-b为公差,b-a为公差,c-a为两倍公差时能推断出第三个数是多少,看第三个数是否是没作为公差的那个数的整数倍即可

 Code:

#include<bits/stdc++.h>
using namespace std;
int t;
int main()
{cin>>t;while(t--){int a,b,c;cin>>a>>b>>c;if(c<a)swap(a,c);if(a==b&&b==c)cout<<"YES"<<endl;else if(b==c){if(b%a==0)cout<<"YES"<<endl;elsecout<<"NO"<<endl;}else{if((b+b-a)>=c&&(b+b-a)%c==0)cout<<"YES"<<endl;else if((b-(c-b))>=a&&(b-(c-b))%a==0)cout<<"YES"<<endl;else if((c+a)>=b*2&&(c+a)%(b*2)==0)cout<<"YES"<<endl;elsecout<<"NO"<<endl; }}return 0;
}

C. Division by Two and Permutation
Problem - C - Codeforceshttps://codeforces.com/contest/1624/problem/C题目大意是给定一个长度为n的数列,能否通过对其中数做任意次除以2操作使其变成一个从1-n的排列

Solution:

        本题考虑贪心,首先大于n的数,是一定要除以2直到他到n以内的,因为每个数都必须在n以内才有可能是1-n的排列,对于每个数都除以2到n以内后用哈希表存储起来。然后从n开始往下遍历每一个数,假设说当前数有多余的.就全部往下除以2处理,因为排列只允许每个数只有一个.这样处理可以保证从大到小遍历的每一个数都不大于1,如果遇到了不存在的数,直接输出NO即可,因为多余的数全部都被除以2了,没有任何一个比当前数大的数可以通过除以2得到当前的数了.

Code:


#include<bits/stdc++.h>
using namespace std;
int t;
int a[51];
int has[51];
bool check(int y,int x)
{while(y){if(y==x)    return 1;y/=2;}return 0;
}
int main()
{cin>>t;while(t--){int n;memset(has,0,sizeof(has));cin>>n;for(int i = 1;i<=n;++i){cin>>a[i];while(a[i]>n)a[i]/=2;has[a[i]]++;}bool bflag = false;for(int i = n;i>=1;--i){if(!has[i]){cout<<"NO"<<endl;bflag = true;break;}while(has[i]>1){int p = i;while(p&&has[p])p/=2;has[p]++;has[i]--;}}if(!bflag)  cout<<"YES"<<endl;}return 0;
}

D. Palindromes Coloring
Problem - D - Codeforceshttps://codeforces.com/contest/1624/problem/D这题题面看着很复杂,实际上读懂题后就很简单了

题意大概就是将一个字符串所有字符拿出,分成k组,每组都得是回文串,可以有字母不用,求k组回文子串中最短回文子串的最大值

Solution:
        
捕捉到很重要的一个关键字,最短回文子串的最大值,最小化最大值,说明可以用二分答案来解决.把左端点设为1,右端点设为n.进行二分,接下来就如何验证答案了

我们可以发现如果x个字母能组成长度为x的回文串,那也一定可以组成x-1大小的回文串

如:

ABBBA的回文串我去掉B

ABBA也是回文串再去掉B

ABA也是回文串

其次,一个长度为x的回文串

如果x为偶数时,一定是由x/2个相同字母对组成

如果x为奇数时,一定是由x/2个相同字母对+一个落单字母组成

那么我们字符串将所有的偶数对统计出来

如ABCDDDD串

偶数对有2对分别为DD,DD落单字母为A,B,C

对长度进行分类讨论,落单字母不够就拆偶数对去补

然后对一个长度x进行判断时看看是否有x/2个偶数对

如果x为奇数判断落单字母够不够用,不够用就拆偶数对

Code:

#include<bits/stdc++.h>
using namespace std;
int has[129];
int t,n,k;
bool check(int x){int ans = 0;int ans1 = 0;int num = 0;if(x==1)    return 1;for(int i = 'a';i<='z';++i)if(has[i])ans+=has[i]/2,ans1+=has[i]%2;if(x%2){while(ans&&ans1<k){ans--;ans1+=2;}}num+=ans/(x/2);return num>=k;
}
int main()
{cin>>t;while(t--){cin>>n>>k;memset(has,0,sizeof(has));for(int i = 1;i<=n;++i){char ch;cin>>ch;has[ch]++;}int l = 1,r = n;while(l<=r){int mid = (l+r)/2;if(check(mid)) l = mid+1;else    r = mid-1;}cout<<r<<endl;}return 0;
}

CF 764div3 A~D相关推荐

  1. 『参考』.net CF组件编程(4)——为自定义组件添加工具箱图标!

    前言: 在前三篇的文章中,和大家一起创建了一个用于TCP连接检测的小组件,如果你记不得了,可以通过以下链接去回顾一下: 『参考』.net CF组件编程(1)--基础之后 『参考』.net CF组件编程 ...

  2. OC对象 vs CF对象

    2019独角兽企业重金招聘Python工程师标准>>> OC对象 vs CF对象 在ARC场景下,对象所有权没有转换 使用__bridge关键字即可实现CF对象和OC对象之间的自由转 ...

  3. CF 990A. Commentary Boxes【数学/模拟】

    [链接]:CF [题意]:对于一个数n,每次加一的代价是a,每次减一的代价是b,求被m整除时的最小代价. [分析]:分情况讨论,自己多举几个栗子. [代码]: #include<cstdio&g ...

  4. 推荐算法——基于协同过滤CF

    https://www.toutiao.com/a6643326861214482957/ 2019-01-06 18:21:09 前边我们已经介绍了推荐算法里的基于内容的推荐算法CB,今天我们来介绍 ...

  5. 索引贴——移动开发(.Net CF 停止更新)

    这是关于本人博客的技术索引贴,希望能方便的让您阅读到相关技术文章--不断更新中.一整理才发现,好多啊,哈哈- 一..Net CF技巧:搜集.转载一些和CF开发相关的辅助文章,比较适合初学者.开发入门者 ...

  6. 解答:CF截图保存在哪

    为什么80%的码农都做不了架构师?>>>    大家玩CF(穿越火线)的时候遇到精彩的画面总希望截图保存下来,然而有些游戏玩家截图后却不知道CF截图保存在哪!这不得不说是个悲剧,但是 ...

  7. CF里面的资源载入问题

    前一段时间已经发现CF在载入资源的时候会怪怪的,但是这一段时间都不曾记起要对这个问题研究一下.最近又发现这个问题了,实在是恼火.俗话说择日不如撞日(粤语),唉,就今天啦.这个问题是在VS2k5里面调试 ...

  8. [CF.Skills]播放嵌入资源的声音文件

    [CF.Skills]播放嵌入资源的声音文件 摘要:本文阐述了在Windows Mobile中如何播放潜入资源的声音文件KeywordsPlaySound, Windows Mobile, Embed ...

  9. CF#190DIV.1

    1 /* 2 CF#190DIV.1-C 3 题意:给你n个结点的树,给这些结点标记字母AB..Z,对于标记相同的结点路径上 4 的结点的标记必须有一个是大于该标记的:问是否可以标记(A是最大标记) ...

最新文章

  1. 初探 开源视频会议 openmeeting
  2. iOS开发之设计模式篇
  3. 网易NAPM Andorid SDK实现原理--转
  4. Android布局管理器-使用FrameLayout帧布局管理器显示层叠的正方形以及前景照片
  5. CheckList 如何梳理可减少上线的验证时间(总结篇)
  6. python 爬虫工具 butter_GitHub - TheButterflyOdor/proxy_pool: Python爬虫代理IP池(proxy pool)
  7. 用VC写Assembly代码(5) --循环的使用(一)
  8. Node项目实战开发-博客系统
  9. 最短路径算法——迪杰斯特拉(Dijkstra)
  10. 算法题解:找出包含给定字符的最小窗口(枚举的一般方法)
  11. MSN Direct 日志系统浅析
  12. Python爬虫理论 | (4) 数据存储
  13. 外国程序员和中国程序员的区别
  14. 论文阅读: Inertia Tensor Properties in Robot Dynamics Identification: A Linear Matrix Inequality Approac
  15. html文本显示不完整,css 内容显示不全怎么办
  16. sql语句查询一天24小时每个小时数据,查询时间段内每天数据
  17. 关于工作总结中的感悟
  18. 写给想通过程序员转型为项目经理的人
  19. 谷歌SRE与运维工作的思考
  20. vue+axios 实现Excel下载

热门文章

  1. Android Studio开发环境的搭建
  2. 视频教程网 新手的学习天堂!
  3. Visual C++编程实现摄像头视频捕捉
  4. CIH病毒破坏及其修复工具与方法
  5. OkHttp上传文件和图片操作
  6. 如何注册公司/个人工作室、注册步骤
  7. access2007 定义了过多字段_Access 2007多值字段指南
  8. Blink SQL之创建数据结果表
  9. Blink SQL之创建日志服务SLS源表
  10. arp防火墙arptables