
思维
文章平均质量分 64
逆向,倒推,性质,模拟,数学
阐上
hh厨
展开
-
【CF1332C】C. K-Complete Word(回文串,贪心)
K完全字题意:定义 K字符串,满足:即 K字符串 是周期为 K 的回文串。给你一个字符串 A,一次操作可以将一个字母改变成任意字母,问你最少多少次操作可以把 A 变成一个 K字符串。思路:可以发现有些位置( i % k )的字母需要相同,具有周期性,我们可以统一存储下来 该位 26个字母的个数。然后再考虑回文,回文肯定要求对称位字母相同,循环判断下即可。Code:Code:Code:#include<bits/stdc++.h>#include<unord原创 2022-04-09 19:10:24 · 694 阅读 · 0 评论 -
洛谷:P6687 论如何玩转 Excel 表格 【判断题(是否有解) + 求逆序对的个数】
洛谷:矩阵旋转观察可以发现: できない对于这样的两列表格,一次 2x2 的正方形 180° 旋转相当于 左上与右下、左下与右上交换而这样的交换不会改变什么?不会改变任意一列的两个数字!但会改变这两个数字的位置关系,旋转一次就上下颠倒一次所以我们得到了第一个判断无解的条件:若 原状态 任意一列的两个数字在 目标状态 中位置不是在同一列,显然无解接着,在排除了以上无解情况后,我们又可以 通过看题解 发现:原状态 任意一列的两个数字在 目标状态 中对应的位置不同,解的存在性也会改变!2/3原创 2022-01-02 23:13:51 · 503 阅读 · 0 评论 -
2022牛客寒假算法基础集训营1:C-Baby‘s first attempt on CPU(思维、模拟)
三岁 秃头怪 程序员的CPU一血题意:给定 n 个语句,再给出 n 个语句与自身 前三个语句(非空语句) 之间的关系,若有关系,就需要保证 n ~ n - i (i<=3) 之间有 至少三个语句你可以在任意位置插入 空语句,使得这种关系达成,问最少插入多少空语句能达成关系思路:n 只有 100 非常小,之间上手暴力大模拟;观察发现,任意关系达成时就要考虑插入空语句,但需统计该区间语句的个数(包括空/非空语句),贪心地插入到刚好三个就行Code:Code:Code原创 2022-01-27 15:23:20 · 686 阅读 · 0 评论 -
洛谷:P1444 [USACO1.3]虫洞 wormhole(找环 + 枚举暴搜)
虫虫虫洞当存在环的时候,就会出现无限循环,也就相当于 dfs 时走回了曾经走过的地方数据范围很小,我们可以枚举两两配对,然后搜索每一个点出发能产生的结果,判断是否会无限循环,若否就统计方案数同时这里可以用一个排序减少工作量Code:Code:Code:#include<bits/stdc++.h>#include<unordered_set>#include<unordered_map>#define mem(a,b) memset(a,b,sizeof原创 2022-01-23 13:31:40 · 692 阅读 · 0 评论 -
Codeforces周赛 Round #767 (Div. 2) :C. Meximum Array
C. Meximum Array题意:给定一个 a 序列,当 a 非空时可以选择从 a 中切出前 k 个数字(有才行),这 k 个数字取一个 MEX,得出来的结果加给 b 序列,要求构造出的 b 序列满足字典序尽可能大MEX 指在一个非负序列中最小的、不存在于序列中的数字思路:贪心地去想,每次选出一个数字去补充 MEX 序列,想要得出的数尽可能大(使 b 字典序大),显然尽可能填满序列但若判断出怎么填都填不满序列,后面再把数加入序列并不能使得出的结果变大(有缝隙),如 :原创 2022-01-23 11:23:39 · 1167 阅读 · 0 评论 -
洛谷:P2728 [USACO3.2]纺车的轮子 Spinning Wheels(思维 + 模拟)
纺车????????????????????题意:五个轮子转动(速度不一定一致),轮上有缺口,问最早在什么时候五个轮子的上某同一位置都是缺口(一束光能通过)坑点:看似有可能一直转下去都不会有结果,但即使各个轮子速度不同,转了360秒后都会回到原位(周期性),只是转过的圈数不同罢了;所以只用判断360秒内能否存在解即可我的方法是初始标记各个轮子上有缺口的位置,之后相对于一个位置(标点)旋转不同度数,每次枚举轮上每个位置判断是否有解但题目限制了 轮子是正向转的! 相对而言旋转会使原创 2022-01-19 21:44:03 · 864 阅读 · 0 评论 -
Codeforces周赛 #766 (Div. 2):B. Not Sitting(思维、贪心、博弈)
没得坐!题意:关于舔狗拉胡尔想坐到蒂娜身边但蒂娜嫌弃得不行的那些事,舔狗好去4啊给定一张 n * m 的座位表,蒂娜最多能先划掉其中的 k(k < n * m) 个座位,然后拉胡尔选一个座位(没被划掉中的),蒂娜再选一个座位(任选);定义两人的距离为哈密顿距离,即横坐标差 + 纵坐标差;拉胡尔想尽可能舔到蒂娜,但蒂娜想尽可能远离拉胡尔,他们一样聪明,行动都是最优的(选座位和划座位);输出 n * m 个情况,蒂娜划掉 0个、1个、2个 … k个座位时,拉胡尔与蒂娜的最小距离思路:原创 2022-01-16 16:55:12 · 427 阅读 · 2 评论