Gym - 101981E 思维】的更多相关文章

Gym - 101981EEva and Euro coins 题意:给你两个长度皆为n的01串s和t,能做的操作是把连续k个相同的字符反转过来,问s串能不能变成t串. 一开始把相同的漏看了,便以为是个差分模拟,然后懂了题意后一时也没想到,看了题解瞬间明了(题解做题法). 相同连续k个1可以变成0,而相同连续k个0可以变成1,然后调整1的位置,所以其实便是看把连续k个相同字符删去后,两个字符串还相不相同,直接栈模拟. #include<cstdio> #include<iostream&…
要点 做法是删去连续的k个0或k个1,连消.消消乐的那种,网上博主用个栈\(O(n)\)就很优秀地操作了这个过程 原因是有性质:比如k=3,101000贪心地翻就能翻成000101,所以连续的k个可以都挪到后面去 /*GYM 101981 E*/ #include <cstdio> #include <string> using namespace std; const int maxn = 1e6 + 5; int n, k; char s[maxn], t[maxn]; pai…
题目链接:https://cn.vjudge.net/contest/274029#problem/D 题目大意:给你0-9每个数的个数,然后让你找出最大的数,满足的条件是任意三位相连的都能被三整除. 具体思路:首选数比较大,考虑用字符的方法存储,然后我们可以枚举开头两个数字,然后不停的往后找符合的串,然后再比较出这些最长的串中最大的就可以了. AC代码: #include<bits/stdc++.h> #include<string> #include<cstring>…
SaMer is building a simple robot that can move in the four directions: up (^), down (v), left (<), and right (>). The robot receives the commands to move as a string and executes them sequentially. The robot skips the commands that make it go outsid…
题意: 给你一个数n,你需要输出它可以由那几个数相乘构成,我们设可以由x个数构成,这x个数中最小值为minn,最大值为maxx,那么要求maxx-minn<=1 问你满足上面要求的情况有多少种.如果一个数的构成方式由无数种就输出-1 样例解释: 输入: 12 输出: 3 1 12 3 2 3 2 2 4 3 12有三种满足题意的构成方式,分别是12.2*3*2.4*3 输入 1 输出 -1 因为1的构成可以是1.1*1.1*1*1.1*1*1*1无数种 题解: 你会发现输出-1的情况都是2的次幂…
题意: 给你n个数vi,你有k次操作.每一次操作你可以从n个数里面挑一个数,然后使得这个数乘于一个正整数.操作完之后,这n个数里面不同数的数量就是权值.你要使得这个值尽可能小. 题解: 如果a%b==0 && a!=b b%c==0 && b!=c 那么如果我们进行操作的话,肯定是把c变成a,因为这样消耗的最小操作数最少 我们最后的答案只需要在两种情况中取最小值就可以了 1.我们把n个数都往n个数的公倍数上变 2.如果这n个数里面出现了上面所示的a.b.c的情况,那么我们就…
题意1: 给你一个由小写字母构成的字符串s,你可以其中某些字符变成大写字母.如果s中有字母a,你如果想把a变成大写,那s字符串中的每一个a都要变成A 最后你需要要出来所有的字符对,s[i]和s[i-1]需要是辅音字母,且s[i]和s[i-1]中需要一个字母大写另一个小写.a.e.i.o.u.w.y这七个字母是元音 输出最大字符对数量 题解1: 首先预处理一下s字符串中字符相邻的数量,就是记录w[s[i-1]][s[i]]的数量 之后二进制枚举所有字母变成大写的情况. 然后枚举这个字母变成大写之后…
UVA 1394 And Then There Was One / Gym 101415A And Then There Was One / UVAlive 3882 And Then There Was One / POJ 3517 And Then There Was One / Aizu 1275 And Then There Was One (动态规划,思维题) Description Let's play a stone removing game. Initially, n ston…
题目传送门 /* 题意:一个n×m的矩形,相邻的颜色不同,黑或白.问最少的翻转次数,每次翻转可指定任意一个子矩形 思维题:最少要把偶数行和列翻转,也就是n/2+m/2次 */ #include <cstdio> using namespace std; int main(void) //Gym 100553A Alter Board { // freopen ("A.in", "r", stdin); freopen ("alter.in&qu…
 Gym 101047K Training with Phuket's larvae Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Practice Description standard input/output Thai cuisine is known for combining seasonings so that every dish has flavors that are…