![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
思维题
蓝丶星灬
这个作者很懒,什么都没留下…
展开
-
C-Klee in Solitary Confinement 思维
链接:https://codeforces.com/gym/103470/problem/C题意:给一个数字序列,可以给一个子区间+k,要求输出众数最多的数量。题解:考虑一个区间+k带来的影响,这个区间内所有原本是a的数变成了a+k,所有是a-k的数变成了a。于是如果想选择a为众数,选取的区间内所有a每个的贡献是-1,而区间内的a-k每个贡献是+1。很容易想到,对于给定的a,只要找最大贡献的区间即可。但是如果枚举a,肯定就超时了,这时需要思考优化当我们枚举到第i个位置,这个位置的值是ai,可以原创 2022-03-27 13:59:24 · 2070 阅读 · 0 评论 -
E-Minimax [ Codeforces Round #733 (Div. 1 + Div. 2) ] 构造
链接:https://codeforces.com/contest/1530/problem/E题意:给出一个字符串,要求对字符重新排序,使得到的新串以从1-1、1-2、1-3、…、1-n的子串中,前后缀相同的长度最大值最小输出这个串,且需要字典序最小.题解:可以分多种情况考虑1.每个字母只有一种:从小到大输出2.只有一种字母:直接输出3.第一位放两个最小字母:此种情况的条件是,最小字母的数量少于一半,使得最小字母可以在后面间位排列,也就是说除了首位之外不能出现最小字母4.第一位放一个原创 2021-08-24 14:13:28 · 138 阅读 · 0 评论 -
C-Mikasa [ Codeforces Round #735 (Div. 2) ] 位运算
链接:https://codeforces.com/contest/1554/problem/C题意:给出n和m,要求找到最小的大于等于0的不在n ^ 0 ~ n ^ m覆盖范围内的数。题解:对于 a ^ b == c 有 a ^ c == b。寻找一个最小k, 对于 n ^ x == k, x ∉(1, m), 又有 n ^ 0 == n.。 可得 x > m该问题等效于 对于 n ^ k == x, x > m, 即 n ^ k > m, 寻找最小k。可令 p == m +原创 2021-08-21 17:06:00 · 98 阅读 · 0 评论 -
D-Say No to Palindromes [ Educational Codeforces Round 112 (Rated for Div. 2) ] 思维 前缀和
链接:https://codeforces.com/contest/1555/problem/D题意:给一个只有abc的字符串,一次操作可以用abc中的一个替换某个位置,对2e5个区间进行询问,要求输出使这个区间没有回文子串的替换次数。题解:子串中没有回文,则必须首先保证任意相连的3个字母是不同的,所以答案是abc全排列的一个循环。枚举所有循环,然后输入区间时进行比较,取最小的用前缀和优化复杂度#include<bits/stdc++.h>using namespace std;原创 2021-08-17 11:38:09 · 89 阅读 · 0 评论 -
E-Permutation Shift
链接:https://codeforces.com/contest/1553/problem/E题意:对一个从1到n的序列第一步:先进行任意次滑动,比如说1234向右滑动一次变成4123第二步:进行任意次任选两个元素两两交换输入结果序列,和进行的交换数(交换数小于n/3)要求输出序列可能由原序列滑动的次数题解:因为交换数小于n/3,所以滑动了i个位置的元素必定大于n/3个可知,最多的可能滑动次数只有3个所以可以暴力判断如果符合了滑动i次的数字大于n/3就判断交换数是否符合而通过公式原创 2021-07-29 20:49:40 · 214 阅读 · 0 评论 -
D-Secret Santa
链接:https://codeforces.com/contest/1530/problem/D题意:n个人,每个人希望给第ki个人送礼物,但每个人都必须接受一份礼物,不能给自己送礼物,问礼物怎么分配。思路:比较容易想到的是贪心,扫一遍,满足第一个想给k送礼物的人,然后后面遇到重复的就跳过,最后把剩下的分配给重复的那些人。但是这样做有可能出现自己给自己送礼物的情况,所以关键的步骤就是去重。去重方法:扫一遍,如果出现了自己给自己送礼物的情况,则满足那个送给自己礼物的人的愿望,同时令原本匹配的人给 送原创 2021-07-18 11:59:46 · 271 阅读 · 0 评论 -
G-Snake Rana
https://codeforces.com/gym/323862/problem/G先算出来总数,再减去含有炸弹的可以用容斥定理含有炸弹的=仅含有一个的-含有两个的+含有三个的-……要计算几个集合并集的大小,我们要先将所有单个集合的大小计算出来,然后减去所有两个集合相交的部分,再加回所有三个集合相交的部分,再减去所有四个集合相交的部分,依此类推,一直计算到所有集合相交的部分。#include<bits/stdc++.h>using namespace std;cons原创 2021-04-19 14:51:58 · 115 阅读 · 0 评论 -
A-Sherlock Bones
https://codeforces.com/gym/323862/problem/A1111111=>11101111添加的0会对组数造成增多的影响,如果中心1在0左边,则会使右边的连串0对左侧1造成影响(增多0的个数种选择数)反之亦然开数组记录每个1前面0的个数L,与每个1后面0的个数R,对于第i个位置:种类数L(i)xR(i)+∑(l(i-a)+1)x(r(i-a)+1)会超时优化:把L与R全部+1发现奇与奇相乘,偶与偶相同。对于一个七个1的序列:L1x(R3+R5+R7)+原创 2021-04-18 16:41:11 · 110 阅读 · 0 评论 -
D-Magical Bamboos
https://codeforces.com/gym/323862/problem/D选择一个减小1,其他的都增加1,可以看做其他是不变的,而这个数减小了2,所以必须奇偶性相同在这里插入代码片原创 2021-04-17 19:47:23 · 417 阅读 · 3 评论 -
E-Competitive Seagulls
https://codeforces.com/gym/323862/problem/E当大于等于5的时候,先手只需要在中间选2或者3,将两边分成两个相等的块,然后根据对手的操作,在对称的块上镜像操作,则必定赢#include<bits/stdc++.h>using namespace std; int main(){ int t,n; cin>>t; while(t--){ cin>>n; if(n>原创 2021-04-17 19:41:58 · 89 阅读 · 0 评论 -
A-Alluka‘s Curse
A-Alluka’s Curse SDU省赛团队排位赛(2)有多少种不同的方法可以填充一个3×n的网格,只使用1×2块,将其模1e9+7输出。输入输入的第一行包含一个整数,n(1≤n≤1e7)-网格的维数。输出打印可以填充网格的不同方式。拆分成两种块A块是长度2n的矩形块,B块是最长边长度为2n的一个突出一块的图形。则有递推关系。a2n+2可由b2n和a2n递推而来,a2n至a2n+2只需要补一个23的块,所以乘3而b2n推到a2n+2只有一种补法。所以有递推关系式:a(2n+2)原创 2021-04-12 14:58:17 · 59 阅读 · 0 评论 -
F-Frieza Frenzy
F-Frieza Frenzy SDU省赛团队排位赛(2)https://codeforces.com/gym/324030/problem/F弗里扎来到地球,正在寻找小悟空。他没有那么耐心,所以他决定一条一条地摧毁道路,直到小悟空出现。由于Frieza破坏了道路,一些地区的交通中断,一些地方的人们无法到达其他地方。如果从这个集合中的任何一个地方,可以到达它上面的每一个地方,而不可能到达它之外的任何地方,那么一组地方就被称为是连接的。中心城市有n个地方和m条双向道路连接两个不同的地方。最初,城原创 2021-04-11 22:02:20 · 86 阅读 · 0 评论 -
E-捡贝壳 2021年广东工业大学第十五届文远知行杯程序设计竞赛(同步赛)
E-捡贝壳小明来到一片海滩上,他很喜欢捡贝壳,但他只喜欢质量为x的倍数的贝壳。贝壳被排列成一条直线,下标从1到n编号,小明打算从编号为区间\left [l,r \right ][l,r]的贝壳中,捡起所有他喜欢的贝壳。你能帮他计算出他能捡多少贝壳吗。给出一个大小为n(n≤10e5)的数组,下标从1到n编号,a1,a2,…an。(ai≤10e5)表示贝壳的质量。给出q(q≤5e4)次询问,每次询问包含3个整数l,r,x,对于每次询问,输出一行整数,表示这次询问中能捡到的贝壳数。把输入的数拆解成因数的原创 2021-03-29 15:49:26 · 227 阅读 · 0 评论 -
G-分割 2021年广东工业大学第十五届文远知行杯程序设计竞赛(同步赛)
G分割 (2021年广东工业大学第十五届文远知行杯程序设计竞赛(同步赛))在一个二维平面,有n条平行于y轴的直线, 他们的x坐标是x[i],m条平行于x轴的直线y[i],他们的y坐标是y[i].求出这些直线所有可能形成矩形的总面积对1000000007取模的值。保证所有直线不完全重叠。#include<bits/stdc++.h>using namespace std;typedef long long ll;ll x[100100];ll y[100100];ll dx原创 2021-03-29 14:31:31 · 1663 阅读 · 2 评论