CodeForces - 1554D - Diane ( 思维 + 构造 )

Unity3d实现的十字路口的模拟(一) 最近学习了Unity3d这个游戏引擎,感觉真的是非常的强大,正好赶上操作系统课程要做一个模拟信号量的模拟程序,于是打算做一个模拟十字路口的程序,大致的实现要实现的成果是:存在四种不同的汽车,包括一辆警车(不受交通信号灯的控制)随机产生在不同的路口,并且有不同的行动路线如:直走,左转,右转等,当然还有交通信号灯来控制车辆的有序运行。可以展示不同的视角来观察路口的情况(利用Q,W,E,R分别控制不同的 阅读详情
题目链接:点击进入
题目

在这里插入图片描述
在这里插入图片描述

题意

构造长度为n的字符串,要求只包含小写英文字母,同时 相同子串的个数 都是奇数

思路

例子:
对于长度为 5 的全a字符串“aaaaa”,"a"的数量奇数、“aa”的数量偶数、“aaa”的数量奇数、“aaaa”的数量偶数、“aaaaa”的数量奇数。
对于长度为 4 的全a字符串“aaaa”,“a"的数量偶数、“aa”的数量奇数、“aaa”的数量偶数、“aaaa”的数量奇数。
已知:奇数 + 偶数 = 奇数。根据这一特点,我们可以将这两个合并一下,同时中间用 “b” 隔开,就形成了长度为 10 的“aaaaabaaaa” 且 相同子串 都是奇数。这是正着想,对于这个题,我们倒着想。
前面 n / 2 个 “a” 后面 n / 2 - 1 个 “a” ,中间用单独的隔开,即可构成相同子串都是奇数的情况。
若 n 为奇数,因为 n /2 + n / 2 - 1 = n - 2 ,所以我们中间用 " bc” 隔开;
若 n 是偶数,则只用 “b” 隔开即可。

代码
//#pragma GCC optimize(3)//O3
//#pragma GCC optimize(2)//O2
#include<iostream>
#include<string>
#include<map>
#include<set>
//#include<unordered_map>
#include<queue>
#include<cstdio>
#include<vector>
#include<cstring>
#include<stack>
#include<algorithm>
#include<iomanip>
#include<cmath>
#include<fstream>
#define X first
#define Y second
#define best 131 
#define INF 0x3f3f3f3f3f3f3f3f
#define pii pair<int,int>
#define lowbit(x) x & -x
#define inf 0x3f3f3f3f
//#define int long long
//#define double long double
//#define rep(i,x,y) for(register int i = x; i <= y;++i)
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const double pai=acos(-1.0);
const int maxn=1e6+10;
const int mod=998244353;
const double eps=1e-9;
const int N=5e3+10;

inline int read()
{
    int k = 0, f = 1 ;
    char c = getchar() ;
    while(!isdigit(c)){if(c == '-') f = -1 ;c = getchar() ;}
    while(isdigit(c)) k = (k << 1) + (k << 3) + c - 48 ,c = getchar() ;
    return k * f ;
}


int t,n;

int main() 
{
//	ios::sync_with_stdio(false);
//	cin.tie(0);cout.tie(0);
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d",&n);
		if(n==1)
		{
			puts("a");
			continue;
		}
		for(int i=1;i<=n/2;i++)
			printf("a");
		if(n&1) printf("bc");
		else printf("b");
		for(int i=1;i<=n/2-1;i++)
			printf("a");
		puts("");
	}
    return 0;
}
[SoC]SoC验证中bootcode与firmware相关验证经验总结 本文总结了SoC验证中bootcode和firmware的验证经验。重点介绍了两种数据加载方法:1)使用Verilog系统函数$readmemh/$readmemb直接写入ROM/ARAM,需注意文件路径、格式和斜杠方向;2)通过Memory Hierarchy在initial块中操作,需要添加适当延时并注意路径拼接。文章还提供了在testcase phase中先读取数据到HASH再写入SRAM的示例,并强调加载后需使能edc_bypass以避免ECC错误。验证过程中需特别注意文件位置、格式要求及路径处理等 阅读详情

相关推荐

51单片机定时器的原理、应用与编程实现

本文系统介绍了51单片机定时器的基本原理与应用。首先阐述了定时器的工作原理,包括定时模式和计数模式的区别。然后详细讲解了定时器的四种工作模式(方式0-方式3)及其适用场景,并分析了相关寄存器(TMOD、TCON、THx/TLx)的功能设置。文章还给出了定时器编程的具体步骤,包括初始化、计数初值计算和示例代码。最后通过LED闪烁、PWM波形产生、脉冲计数等实际应用案例,展示了定时器的多样化应用。掌握这些知识对嵌入式系统开发具有重要意义。

2501_91227323的博客 1523

Codeforces Round #735 (Div. 2) 1554D - Diane构造题

是一道考察思维的构造题 为了不让任何子串出现偶数次,所以要避对称,因此比较好想的结构就是破坏对称结构的: 如果n是偶数,则答案是 a...(n/2个a)...aba...(n/2−1个a)...a a...(n/2个a)...aba...(n/2-1个a)...a a...(n/2个a)...aba...(n/2−1个a)...a 如果n是奇数,则答案是 a...(n/2个a)...abca...(n/2−2个a)...a a...(n/2个a)...abca...(n/2-2个a)...a a...(n.

m0_51780913的博客 166

相机中的归一化实现讲解

本分讲解了图像处理中常出现的两个相机归一化操作

weixin_42102084的博客 1475

Codeforces1554D Diane (构造)

题目链接: Diane 大致题意 给定一个nnn, 表示要构造出的字符串长度. 所构造出的字符串sss应满足: ①∣s∣=n|s| = n∣s∣=n ②sss由小写字母组成 ③sss中任意连续子序列应在串中出现奇数次. 解题思路 思维 一般考虑到用小写字母构造字符串的题目, 我们应考虑到用尽可能少的字母来完成题目要求. 对于本题: 如果某个字符出现仅一次, 则一定满足要求. 反之(以字母a为例), aa, aaaa这样的子串, 奇数长度的段会出现偶数次, 不符合题意. 而aaa, aaaaa这样的子串, 偶

Fau的博客 265

关于自制的《航空学报》latex模板(非官网模板)

《航空学报》的官网只提供了word模板,并且该期刊投稿只需要pdf版本不需要源文件。为方便latex爱好者撰写论文,提供该模板及说明给广大科研人士~

qq_37105055的博客 4692

钉钉宜搭低代码开发师高级认证考试题库113题

钉钉宜搭低代码开发师(高级)考试试题题库,多次考试收集整理,判断题,单选题,多选题,排版清晰,查找方便。希望能帮助到大家!!!

qq_40811920的博客 6396

CF1554D Diane 题解

很显然,这是一道智商题(bushi) 题目链接放着了哦 在我的博客食用更佳 晚上实在没空打 CF,第二天早上补题目,看到 D 题的样例输出瞬间懵了,但是感觉不是这样的。 后来想了半天看了 tags,上面写着 greedy (贪心)。我才想到,只用 abcabcabc 三个字母,搞贪心的话也可以实现。 题目(已翻译) 给你一个整数 nnn。找出任何长度为 nnn 的字符串 sss,只包含英文小写字母,使 sss 的每个非空子字符串以 sss 的奇数次数出现。 如果字符串 aaa 是字符串 bbb 的子字符串,

m0_58780076的博客 238

EEGnet模型论文讲解(画图详解三种卷积层操作)

我录了一个讲解视频:https://www.bilibili.com/video/BV1si4y1s7g7/ 目录 一、整体介绍 二、梳理激活函数 三、图解三种卷积层 (核心内容) 四、总结 一、整体介绍 EEGnet是为专门一般的脑电图识别任务而设计的通用且紧凑的卷积神经网络。(设计思路借鉴了MobileNet) 下图是EEGnet的整体结构图,只有三个卷积模块,重点是depthwise conv 和separable conv这两个卷积模块。 表格表明了EEGnet的...

Amigo_1997的博客 2万+

D. Diane

题意 构造长度为n的字符串,保证每个子串出现的次数都是奇数次 解析 对于长度为k的字符串aaaaa...aaaaa...aaaaa...,其子串的出现次数分别是奇数次和偶数次,根据奇数+偶数=奇数,我们可以将其错开一位。 对于n的字符串,我们构造n2\frac{n}{2}2n​个aaa和n2−1\frac{n}{2}-12n​−1个aaa中间多出来的一个或者两个就随便拼凑即可。 代码 #include<bits/stdc++.h> using namespace std; void solv

摸鱼博客 253

S32DS 3.5.8离线包怎么用?保姆级教程教你手动安装S32K3开发环境(附资源下载)

本文详细介绍了S32DS 3.5.8离线包的安装方法,适用于S32K3开发环境的手动搭建。从资源获取、完整性验证到分步安装指南,提供了全面的离线部署解决方案,特别适合军工/车企内网开发等场景。文章还包含版本选择建议、常见问题排查及团队协作方案,帮助开发者高效完成环境配置。

weixin_30471561的博客 477

Tmux学习总结

Tmux 重要概念 使用 Tmux 的时候千万不要去背指令,所有的指令都可以在 .tmux.conf 配置文件中绑定自己顺手的快捷键,也可以配置开启鼠标。 这个是我的配置文件:https://github.com/zuorn/tmux.conf 在Tmux逻辑中,需要分清楚Server > Session > Window > Pane这个大小和层级顺序是极其重要的,直接关系到工作效率: Server:是整个tmux的后台服务。有时候更改配置不生效,就要使用tmux kill-

满目星辰 578

Codeforces Round #735 (Div. 2) D. Diane

Codeforces Round #735 (Div. 2) D. Diane 题目链接 题目分析:构造长度为n的字符串,使得每一个字符串出现的次数均为奇数次。 思路: 假设这里有k个a,那么它的字串个数为a k, aa k - 1, aaa k - 2, … 如果有k-1个a,那么它的子串个数为a k - 1, aa k - 2, aaa k - 3 … 两者加起来,可得: x + (x - 1) = 2 * x - 1是个奇数 所以,可以采取以下构造方法: 将字符串前n / 2个构造为a,将后n /

xiaoze_accepted的博客 294

FPGA经验谈系列文章——3、逻辑级数

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Xilinx FPGA开发tips系列——前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的

gzy0506的博客 1万+

Binary Table (Hard Version)-(思维)

题目描述:点击进入 题意 给你一个大小为n×m的二进制表,这个表由符号 0 和符号 1 组成。 你可以进行这样的操作: 选择属于一个 2 × 2 正方形的 3 个不同的单元格,并更改这些单元格中的符号(将 0 更改为1, 1 更改为 0 )。 你的任务是使表中的所有符号都等于0。您最多可以进行 nm次 操作。 你不需要最小化操作的数量。 思路 这是上一题的加强版,操作次数变为 nm 了,我上一次的代码过不去,无奈只能优化,但也只是对边界处理优化了一下,却神奇过了(神奇神奇,用xy哥的话来说那就是可蒸馏啊)

Cosmic_Tree的博客 1780

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

k-LCM ( easy version && hard version ) -( 思维 - 构造 )

题目链接(easy):点击进入 题目链接(hard):点击进入 题目 题意 长度为 k 的数组,整个数组的和为 n ,整个数组的最小公倍数不超过 n / 2,让你构造这样一个数组 简单版本k=3,困难版本 3 <= k <= n。 思路 简单版本: 因为明确告诉你了 k = 3 ,同时要求三个数的最小公倍数不能超过 n / 2,所以我们可以根据 n 来构造这个三个数。 首先根据 n 的奇偶性分类讨论 如果 n 是奇数,那么三个数可以变为 n / 2 , n / 2 , 1 ; 如果 n 是偶

Cosmic_Tree的博客 1189

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Binary Table (Easy Version)-(思维)

题目描述:点击进入 题意 给你一个大小为n×m的二进制表,这个表由符号 0 和符号 1 组成。 你可以进行这样的操作: 选择属于一个 2 × 2 正方形的 3 个不同的单元格,并更改这些单元格中的符号(将 0 更改为1, 1 更改为 0 )。 你的任务是使表中的所有符号都等于0。您最多可以进行 3nm次 操作。 你不需要最小化操作的数量。 思路1 通过找找规律,我们可以知道一个 2*2 的矩阵 不包含0的可以通过一次操作变为包含3个0的, 包含3个0的通过一次操作可以变为包含2个0的, 包含2个0的通过一次

Cosmic_Tree的博客 840

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Codeforces Beta Round #68 - B- Train ( 贪心模拟 )

题目链接:点击进入 题目 题意 偷渡者和控制者玩以下游戏。 火车由 n 节车厢表示,车厢从头到尾用 1 到 n 的正整数编号。偷渡者和控制者最初在两辆不同的货车中。火车每分钟都可能处于两种状态移动或空闲。控制者每分钟都在移动。 控制器有运动方向——火车头或火车尾。在移动期间,控制者对应于其移动方向移动到相邻的货车。如果在他的移动结束时,控制者进入第 1 辆或第 n 辆货车,那么他将移动方向更改为另一侧。换句话说,控制者在整个游戏过程中循环地从火车的头部到尾部然后再返回,在每次移动期间移动一辆车。请注意,

Cosmic_Tree的博客 747

CodeForces - 1549C - Web of Lies( 思维 )

题目链接:点击进入 题目 题意 n个人m对朋友关系( 双向 ),q次操作: 1 u v u与v成为朋友 2 u v u与v朋友关系破灭 3 计算以下过程的答案: 过程:所有易受伤害的贵族同时被杀害,他们的友谊也随之结束。这样,新贵族就有可能变得脆弱。这个过程不断重复,直到没有贵族受到伤害。可以证明,这个过程将在有限的时间内结束。完成此过程后,您需要计算剩余贵族的数量。( 如果满足以下两个条件,则贵族被定义为易受攻击:至少有一个朋友,那位贵族的所有朋友都有更高的权力。) 注意,该过程的结果不会在查询

Cosmic_Tree的博客 634

CodeForces 1267

题目:B–Balls of Buma 题意 给你一个字符串(代表不同颜色),让你插入一个字符(一种颜色)后,可以消掉整个字符串。(相同颜色、长度变长、长度>=3才会抵消) 思路 将原串变成“种类串”(例如:AABBAA—> ABA)后,“种类串”应当是回文串,且长度应该是奇数。 同时,一个可以被消去的串,根据中心对称的同类部分的长度和,应当>=3。中心部分长度应当>=2.满足以上条件,答案为中心部分答案+1; 代码 #include<iostream> #include&

Cosmic_Tree的博客 583

CodeForces - 1549D - Integers Have Friends ( 差分 - 线段树 - 双指针 )

题目链接:点击进入 题目 题意 定义一个友好区间为,存在一个 m ( m >= 2 ),使区间内的所有数 % m 值相等,让你求给定数组的最大友好区间长度。 思路 如果两个数 x , y , 取模后的值相同,则需要满足:| x - y | % mod == 0。 若是一个区间内 % mod 值相等,则是所有差值的 gcd。 所以根据这一特性,我们不难想到对原数组差分,然后区间求 gcd( 区间求 gcd 可以用线段树来实现 ),然后我们再用双指针维护一个 右端点 指定 的情况下 左端点最远 且

Cosmic_Tree的博客 577

CodeForces - 1557C - Moamen and XOR ( 位运算 + 排列组合 )

题目链接:点击进入 题目 题意 规定长度为 n 的数组要是满足 a1a_1a1​&a2a_2a2​&…ana_nan​ >= a1⊕a2⊕a_1 \oplus a_2 \oplusa1​⊕a2​⊕…⊕an\oplus a_n⊕an​ 则认为是胜利。在每个数组元素小于 2k2^k2k 的前提下,问有多少种数组 a 满足胜利的条件。 思路 看到这个 2k2^k2k ,当时就想到多半按位来看。若是固定每一位,然后看 n 个数这一位的与运算 与 n 个数这一位的异或运算。异或运算有个规律,

Cosmic_Tree的博客 570

Codeforces Round #171 (Div. 2) - E - Beautiful Decomposition( 贪心 )

题目链接:点击进入 题目 题意 给你一串值为 n 的二进制串,一个加数可以是 ( + / - ) 2 ^ k ( k >= 0 ) ,求最少的加数凑成 n ( 没有前导零 ) 思路 若这个串只有一个1,显然只需要一次即可; 否则,我们可以用减法来求得这个数,例如:11010 = 100000 + 00010 - 01000 反过来就是 11010 - 00010 + 01000 = 100000 ,也就是用最小的加数使原数(x位)变成2^x( 若原数是11…就是变成2 ^ x,若原数是10…就是变成

Cosmic_Tree的博客 545

Eastern Exhibition-(二维中位数)

题目链接:点击进入 题目 题意 n个二维平面上的点,让你在整数坐标中找一个距离这n个点距离之和最近的点,求这样的点有多少个。 思路 二维中位数,将二维的坐标分别投射到一维的x轴和y轴上,再分别取一维中位数(奇数时,中位数是中间数;偶数时,中位数是中间两个数中间的所有数),将取得的两个中位数求乘积即为答案 代码 #include<iostream> #include<cstdio> #include<cmath> #include<algorithm> usi

Cosmic_Tree的博客 545

Codeforces Round #764 (Div. 3) - G - MinOr Tree ( 贪心 )

题目连接:点击进入 题目 题意 n 个点 m 条边,求最小或 ( or ) 生成树,即树的所有边或值最小。 思路 由于是求最后所有边或的值最小,或值即对于生成树的所有边来说,他们的每个对应位只要有一个 1 那么这位最终就是 1 ,要是想结果尽可能小,那么我们当然是希望每个对应位都是 0 才好,如果无法为 0 ,那么这一位越低越好,因此我们可以从高位往低位枚举每一位,如果这一位全 0 的边能够凑成一棵生成树,那么这一位为 1 的边就可以不要,那么最终结果的这一位就可以为 0 。要是凑不成,那么说明需要

Cosmic_Tree的博客 541

Codeforces Round #680 C-Division(数论+分解质因子)

题意 给你两个数字 p , q ,让你求满足( p % x == 0 && x % q != 0 )的最大的 x 思路 这里我们用n,m来代替p,q 如果 n % m != 0 那么最大的 x 就是 n 如果 n % m == 0 , 我们知道 假设 如果 n % x == 0 t1 <= e1 , t2 <= e2 … tk <= ek; 又因为 n % m == 0 f1 <= e1 , f2 <= e2 … fk <= ek 如果想让 x ..

Cosmic_Tree的博客 540

Educational Codeforces Round 32 - G. Xor-MST ( 01字典树 + 分治 )

题目链接:点击进入 题目 题意 给你 n 个点的值,n 个点加边生成一棵树,边权就是两点的异或值,要求最后所有边权和最小。输出最小边权和。 思路 将 n 个数插入到01字典树上,对于树上的每个节点,记录这个节点保存有原数组的那些数(就是原数组中有哪些数经过这个节点),因为这些数可能在原数组中是无序的所以不好保存,因此我们可以将原数组排序后再插入字典树,这样每个节点所保存的数就是连续的,也就是每个节点只记录这个连续区间的边界即可。 遍历01字典树, 对于两个孩子的节点,左右孩子代表的区间是不同的,代表未连接

Cosmic_Tree的博客 519
上一篇: 2021牛客暑期多校训练营2 - G - League of Legends( dp + 单调队列 )
下一篇: CodeForces - 1554C - Mikasa( 思维 )
Cosmic_Tree
博客等级 码龄7年 134粉丝 337原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值