Luogu P9671 [ICPC2022 Jinan R] Identical Parity 题解
P9671 [ICPC2022 Jinan R] Identical Parity
构造题。感觉中上位黄。
对于 \(k\) 为偶数的情况,构造奇偶交替的序列。每次区间向后挪动时,最左边出去的元素和最右边进来的元素奇偶性相同,保证奇偶性不变。这样的序列一定可以构造出来,故 \(k\) 为偶数时直接输出 Yes。
对于 \(k\) 为奇数的情况,每次区间向后挪动时,为了保证奇偶性不变,必须使最左边出去的元素和最右边进来的元素奇偶性相同。由于每一位都需要这样,所以最后一定是一段长度为 \(k\) 的奇偶序列重复多次。
由于 \(k\) 为奇数,每一段中必然会有一种奇偶性的数多 \(1\),不如假设奇数较多。如果重复了 \(m\) 整段,那么奇数比偶数多 \(m\) 个。在剩余的散段中,为了保证奇偶数的差尽量小,我们要优先使偶数在前,补齐这个差值。
注意,由于我们假定偶数比奇数少,所以偶数数量最多为 \(k\) 的向下取整的一半。如果剩余的散段在补满了偶数之后任然有空位,那么只能在加入奇数。这里需要分类讨论。
由于最开始是排列,所以奇数和偶数的差不能超过 \(1\)。如果经过以上操作之后可以满足这个条件,输出 Yes,否则输出 No。
#include <bits/stdc++.h>
using namespace std;
long long t,n,k;
int main()
{
scanf("%lld",&t);
while(t--)
{
scanf("%lld%lld",&n,&k);
if(k%2==0)printf("Yes\n");
else if(k%2==1)
{
if(n%k<=k/2&&(n/k-n%k)<=1)printf("Yes\n");
else if(n%k>k/2&&(n/k-k/2+(n%k-k/2))<=1)printf("Yes\n");
else printf("No\n");
}
}
return 0;
}
Luogu P9671 [ICPC2022 Jinan R] Identical Parity 题解的更多相关文章
- luogu P1549 棋盘问题(2) 题解
luogu P1549 棋盘问题(2) 题解 题目描述 在\(N * N\)的棋盘上\((1≤N≤10)\),填入\(1,2,-,N^2\)共\(N^2\)个数,使得任意两个相邻的数之和为素数. 例如 ...
- 【luogu P2762 太空飞行计划问题】 题解
题目链接:https://www.luogu.org/problemnew/show/P2762 算是拍照那个题的加强下. 输入真的很毒瘤.(都这么说但好像我的过了?) #include <qu ...
- 【luogu P2146 [NOI2015]软件包管理器】 题解
题目链接:https://www.luogu.org/problemnew/show/P2146 变量名真毒瘤 我真的再也不把l,left,r,right弄反了 反向思维更好做一些 #include ...
- 【luogu P1314 聪明的质监员】 题解
题目链接:https://www.luogu.org/problemnew/show/P1314 二分答案 但是计算区间贡献的时候 直接暴力会挂 前缀和加速 #include <cstdio&g ...
- 【luogu P2590 [ZJOI2008]树的统计】 题解
题目链接:https://www.luogu.org/problemnew/show/P2590 我想学树剖QAQ #include <cstdio> #include <cstri ...
- 【luogu P3709 大爷的字符串题】 题解
题目链接:https://www.luogu.org/problemnew/show/P3709 离散化+区间众数..? #include <iostream> #include < ...
- 【luogu P4113 [HEOI2012]采花】 假题解
题目链接:https://www.luogu.org/problemnew/show/P4113 为什么要卡莫队!为什么加强的这么毒瘤! 莫队可以拿100分剩下三个点没治了 // luogu-judg ...
- 【luogu P1972 [SDOI2009]HH的项链】 题解
题目链接:https://www.luogu.org/problemnew/show/P1972 真是不懂为什么要卡莫队! #include <cmath> #include <cs ...
- 【luogu P4462 [CQOI2018]异或序列】 题解
题目链接:https://www.luogu.org/problemnew/show/P4462 ax+ax-1+...+ay = cntx+cnty 这样把一段序列变成两段相加跑莫队. #inclu ...
- 【luogu P1903 [国家集训队]数颜色】 题解
题目链接:https://www.luogu.org/problemnew/show/P1903 裸的...带修莫队... 比较麻烦吧(对我来说是的) 两个变量分开记录查询和修改操作. #includ ...
随机推荐
- Argo CD
目录 一.什么是 Argo CD 二.为什么选择 Argo CD 三.Argo CD 架构 1.API服务器 2.存储库服务器 3.应用程序控制器 四.Argo CD 的使用 1.要求 2.安装 Ar ...
- AD 侦查-MSRPC Over SMB
本文通过 Google 翻译 AD Recon – MSRPC Over SMB (135/139/445) 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释补充. 导航 0 ...
- 【HUST】网安|编译原理|期末复习概念梳理笔记
纯自用,仅概念无题型,配合课本<编译原理 第4版>(ISBN: 978-7-121-31930-3)理解. 参考文献:刘铭. 编译原理 第4版. 北京:电子工业出版社, 2018.06. ...
- vue3 基础-API-computed
前些章节讲了一些常用的 api 如 setup, ref, reactive, toRef ... 等, 并以一个 todoList 的小案例来体现在 vue3 中如何进行解耦逻辑, 以 setup ...
- MarchingCube算法之C#实现三维❤
首先致谢该博文,讲解的非常详细:https://blog.csdn.net/u013339596/article/details/19167907?spm=1001.2101.3001.6650.7& ...
- NCC Mocha v0.2.0 发布, 新增对 Metrics 的支持
目录 项目简介 项目进度 v0.2.0 发布内容 快速体验 数据的发送 数据的查询 Trace 配置 Jaeger 数据源 Trace 数据的查询 Metrics 配置 Prometheus 数据源 ...
- ZigZag Conversion——LeetCode进阶路⑥
原题链接https://leetcode.com/problems/zigzag-conversion/ 没开始看题目时,小陌发现这道题似乎备受嫌弃,被n多人踩了,还有点小同情 题目描述 The st ...
- Kafka怎么配置SASL用户名密码认证
服务端配置(server.properties): # 开启SASL认证 security.protocol=SASL_PLAINTEXT sasl.mechanism=PLAIN # 配置JAAS文 ...
- IDEA 使用@Autowired提示Field injection is not recommended
摘要:IDEA 使用@Autowired提示Field injection is not recommended问题的解决办法. 在使用@Autowired注解进行bean注入,完成自动装配的工作 ...
- java中Date类型和时间戳、Date和String互转代码
/** * 10位时间戳转Date类型 * @param timeStamp * @return */ public static Date stamp2Date(String timeStamp){ ...