Codeforces Round #630 (Div. 2)
题目链接:https://codeforces.com/contest/1332
A. Exercising Walk
可走的最远距离:左:x-x1,右:x2-x,下:y-y1,上:y2-y
如果可以移动,通过折返行走,两个相对方向至少有一个可以消为0,然后看余下步数是否小于等于该方向可走的最远距离,类似于一种模拟的做法,好多大佬都是直接结论QAQ。
#include <bits/stdc++.h>
using namespace std; void solve()
{
int a,b,c,d;
cin>>a>>b>>c>>d;
int x,y,x1,x2,y1,y2;
cin>>x>>y>>x1>>y1>>x2>>y2; int l1=max(x-x1,x2-x),l2=max(y-y1,y2-y);
if(l1>0){
int mi=min(a,b);
a-=mi,b-=mi;
if(a>0&&a<=x-x1) a=0;
if(b>0&&b<=x2-x) b=0;
} if(l2>0){
int mi=min(c,d);
c-=mi,d-=mi;
if(c>0&&c<=y-y1) c=0;
if(d>0&&d<=y2-y) d=0;
} if(a||b||c||d) cout<<"No\n";
else cout<<"Yes\n";
} int main()
{
int t;cin>>t;
while(t--)
solve();
return 0;
}
B. Composite Coloring
题面其实暗示得非常明确:给你一个合数数组,最多染11种颜色,相同颜色gcd大于1。
为什么是11?因为平方小于1000的质因数只有11个:
2,3,5,7,11,13,17,19,23,29,31。
因为每个数可以被分解成质因数之积,最小质因数相同的染一个颜色即可。
#include <bits/stdc++.h>
using namespace std; void solve()
{
int n;cin>>n;
int res[n]={}; int color=0;
map<int,int> m; for(int i=0;i<n;i++){
int t;cin>>t;
for(int j=2;j<=t;j++){
if(t%j==0){//j为t的最小质因数
if(m[j]) res[i]=m[j];
else res[i]=m[j]=++color;
break;
}
}
} cout<<color<<"\n";
for(int i=0;i<n;i++) cout<<i<<" \n"[i==n-1];
} int main()
{
int t;cin>>t;
while(t--)
solve();
return 0;
}
C. K-Complete Word
每次操作如下:
- 回文:取两端
- 周期:取两端向另一端的周期字符
由题意这些字符必须相同,因为要最小替换次数,统计每个字母,换成出现次数最多的即可。
#include <bits/stdc++.h>
using namespace std; void solve()
{
int n,k;cin>>n>>k;
string s;cin>>s; int ans=0;
bool vis[n]={}; for(int i=0;i<n;i++)
{
if(vis[i]) continue; vector<char> v; for(int j=i;j<n;j+=k)
if(!vis[j]){
v.push_back(s[j]);
vis[j]=true;
}
for(int j=n-i-1;j>=0;j-=k)
if(!vis[j]){
v.push_back(s[j]);
vis[j]=true;
} int mx=0,cnt[26]={};
for(char c:v) mx=max(mx,++cnt[c-'a']);
ans+=int(v.size())-mx;
}
cout<<ans<<"\n";
} int main()
{
int t;cin>>t;
while(t--)
solve();
return 0;
}
D. Walk on Matrix
该dp代码会因为追求当前的最大与值而舍弃掉会使答案更大的较小值,如:
$\begin{bmatrix} 0 & 011 & 0 \\ 100 & 111 & 011 \end{bmatrix}$
所以可以构造:
$\begin{bmatrix} inf+k & k &inf \\ inf & inf+k &k \end{bmatrix}$
#include <bits/stdc++.h>
using namespace std;
const int inf=1<<17;
int main()
{
int k;cin>>k;
cout<<"2 3\n";
cout<<(inf+k)<<' '<<k<<' '<<inf<<"\n";
cout<<inf<<' '<<(inf+k)<<' '<<k;
return 0;
}
Codeforces Round #630 (Div. 2)的更多相关文章
- Codeforces Round #366 (Div. 2) ABC
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
- Codeforces Round #368 (Div. 2)
直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- Codeforces Round #279 (Div. 2) ABCDE
Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems # Name A Team Olympiad standard input/outpu ...
- Codeforces Round #262 (Div. 2) 1003
Codeforces Round #262 (Div. 2) 1003 C. Present time limit per test 2 seconds memory limit per test 2 ...
- Codeforces Round #262 (Div. 2) 1004
Codeforces Round #262 (Div. 2) 1004 D. Little Victor and Set time limit per test 1 second memory lim ...
- Codeforces Round #371 (Div. 1)
A: 题目大意: 在一个multiset中要求支持3种操作: 1.增加一个数 2.删去一个数 3.给出一个01序列,问multiset中有多少这样的数,把它的十进制表示中的奇数改成1,偶数改成0后和给 ...
- Codeforces Round #268 (Div. 2) ABCD
CF469 Codeforces Round #268 (Div. 2) http://codeforces.com/contest/469 开学了,时间少,水题就不写题解了,不水的题也不写这么详细了 ...
随机推荐
- 分装button组件引发的内存泄漏问题
这个问题其实一开始在vue里写的时候并没有注意到这一点,也没有报错,直到在react里写的时候给我报了一堆错之后,经各种磨烂之后最终找到是分装button组件的问题,既然找到问题在哪就好办了 直接先上 ...
- Flutter 应用入门:包管理
pubspec.yaml name: flutter_combat description: A Flutter combat application. # The following defines ...
- 【Oracle】查看哪些用户被授予了DBA权限
查看哪些用户被授予了DBA权限 select * from dba_role_privs where granted_role='DBA'; 回收权限: revoke dba from xxx;
- Entity与Entity之间的相互转化
一.两个实体类的属性名称对应之间的转化 1.两个实体类 public class Entity1 { private Integer id; private String name; private ...
- Spring Security,没有看起来那么复杂(附源码)
权限管理是每个项目必备的功能,只是各自要求的复杂程度不同,简单的项目可能一个 Filter 或 Interceptor 就解决了,复杂一点的就可能会引入安全框架,如 Shiro, Spring Sec ...
- Mybatis报错:Could not find resource mybatis-conf.xml
Mybatis报错:Could not find resource mybatis-conf.xml 报错截图: 报错内容: java.io.IOException: Could not find r ...
- 如何应对C语言内存泄露! 华为开发者社区 2020-09-29
如何应对C语言内存泄露! 华为开发者社区 2020-09-29
- 数据水印 watermark
外发数据创建水印 产品通过对外发数据进行添加数据标记.自动生成水印.数据源追溯等功能,避免了内部人员外发数据泄露无法对事件追溯,提高了数据传递的安全性和可追溯能力. 数据水印系统_数据安全管理工具_[ ...
- 可视化Go内存管理
小结: 1. Go不需要VM,Go应用程序二进制文件中嵌入了一个小型运行时(Go runtime),可以处理诸如垃圾收集(GC),调度和并发之类的语言功能 Go does not need a VM ...
- super 多重继承 super() function with multilevel inheritance
Python | super() function with multilevel inheritance - GeeksforGeeks https://www.geeksforgeeks.org/ ...