Codeforces Round #779 (Div. 2)
A
题目大意
给一个01串,其中每一个长度大于等于2的子区间中0的数量不大于1的数量,最少插入多少1
思路
寻找 00 和 010
00 -->0110 加2
010 -->0110 加1
代码
#include <bits/stdc++.h>
using namespace std;
int t;
int main()
{
std::ios::sync_with_stdio(false);
cin >> t;
while (t--)
{
int n;
cin >> n;
string s;
cin >> s;
if (n == 1)
{
cout << "0" << endl;
continue;
}
int z = 0;
for (int i = 0; i < n; i++)
{
if (s[i] == '0')
z++;
}
if (z == 0 || z == 1 && n >= 2)
{
cout << "0" << endl;
continue;
}
int ans = 0;
for (int i = 0; i < n; i++)
{
if (s[i] == '0')
{
for (int j = i + 1; j < n; j++)
{
if (s[j] == '0')
{
if (j - i == 1)
ans += 2;
else if (j - i == 2)
ans += 1;
i = j - 1;
break;
}
}
}
}
cout << ans << endl;
}
return 0;
}
小结:
简单的字符串问题,从最小的单元为起点去思考
B
题意
给一个1~n的排列,若满足以下条件则是一个“美丽排列”。
gcd(1*p1,2*p2,...,n*pn) > 1 ( gcd 求所以元素的最大公约数 )
给定一个n,问有多少种美丽排列,模998244353 。
思路
若 n 为奇数则答案为 0
为偶数则让奇偶相乘 有 (n/2)! * (n/2)!
代码
#include <bits/stdc++.h>
using namespace std;
int mod = 998244353;
int main()
{
int t;
cin >> t;
while (t--)
{
long long a = 1;
int n;
cin >> n;
if (n % 2 == 1)
{
cout << 0 << endl;
continue;
}
for (int i = 1; i <= n / 2; i++)
{
a = a * i;
a = a % mod;
}
cout << (a * a) % mod << endl;
}
return 0;
}
C
题目大意
这题目题意贼绕
给一个1~n的排列p,根据p做数列b,bi表示p1~pi中的最大值。b数列中不同的数值数量就是排列p的力量。
现在给出数列c,ci表示p向左循环右移i-1位所得到的力量值。问给出的c有没有可能被一种p得到。
思路
观察可知 1 有且只有一个,不符合的可直接判错
通过几组数据模拟可发现,每移动一位 ,下一个力量值最多增加 1 以此判断是否正确
需要注意最后一位也要对第一为进行判断
代码
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int T;
cin >> T;
while (T--)
{
int n;
cin >> n;
int s[n+1];
int flag = 0;
for (int i = 0; i < n; i++)
{
cin >> s[i];
if (s[i] == 1)
flag++;
}
s[n]=s[0];
int k = 1;
for (int i = 0; i + 1 <= n; i++)
if (s[i + 1] - s[i] > 1)
{
k = 0;
break;
}
if (k == 1 && flag == 1)
cout << "YES\n";
else
cout << "NO\n";
}
return 0;
}
Codeforces Round #779 (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 开学了,时间少,水题就不写题解了,不水的题也不写这么详细了 ...
随机推荐
- marginStart marginEnd就关于上述两个用法展开讨论
在我还在手动调整两个控件距离时,第一次见识到了marginStart marginEnd两个用法, 但是,只知道它俩能够调整控件距离,但是不知道具体用法,老师也没细说,就这样开启了我对于这两个用法&q ...
- 使用aspnetcore前后端分离开发,你一定要知道这个
前言 用过Vue单页面应用开发的,一定都知道Vue-router这个路由组件,它支持hash和history两种模式. HTML5 History 模式 vue-router 默认 hash 模式 - ...
- WPFApplication类
Application类 应用程序类Application,以下代码自动生成且在程序中不可见,定义程序入口点方法以及程序启动程序,整个程序生命周期为执行完Main()方法里的程序.对于自定义的应用程序 ...
- 【计算机网络】Stanford CS144 Lab Assignments 学习笔记
本文为我的斯坦福计算机网络课的编程实验(Lab Assignments)的学习总结.课程全称:CS 144: Introduction to Computer Networking. 事情发生于我读了 ...
- ucore lab1 操作系统启动过程 学习笔记
开头赞美THU给我们提供了这么棒的资源.难是真的难,好也是真的好.这种广查资料,反复推敲,反复思考从通电后第一条代码搞起来理顺一个操作系统源码的感觉是真的爽. 1. 操作系统镜像文件ucore.img ...
- 4.文件共享总结上篇-Windows之间文件共享
本文章包含上篇和下篇两部分,今天我们主要讨论Windows系统之间的文件互访 Windows系统之间文件互传 1)利用Windows自带的文件共享服务 本次试验以Win7为服务器端,win10为客户端 ...
- 撸了一个 Feign 增强包 V2.0 升级版
前言 大概在两年前我写过一篇 撸了一个 Feign 增强包,当时准备是利用 SpringBoot + K8s 构建应用,这个库可以类似于 SpringCloud 那样结合 SpringBoot 使用声 ...
- C#中的接口和类有什么异同
不同点: 1. 不能直接实例化接口 2. 接口中的成员不能用访问修饰符修饰(默认public) 3. 接口不包含方法的实现 4. 接口可以多继承,类只能单继承. 5. 类定义可在不同的源文件之间进行拆 ...
- NLTK基础学习
学习视频来自:Youtube 学习文档来自:简书 NLTK:自然语言工具包 目的:将段落拆分为句子.拆分词语,识别这些词语的词性,高亮主题,帮助机器了解文本关于什么.这个小节将解决意见挖掘或情感分析的 ...
- Python技法:实用运维脚本编写(进程/文件/目录操作)
Python在很大程度上可以对shell脚本进行替代.笔者一般单行命令用shell,复杂点的多行操作就直接用Python了.这篇文章就归纳一下Python的一些实用脚本操作. 1. 执行外部程序或命令 ...