
思维题
_昨日不可追
这个作者很懒,什么都没留下…
展开
-
Codeforces 1398 B. Substring Removal Game(思维)
传送门题意:思路:最优策略肯定是每次选最多的连续的1,不然会被别人选走把字符串整理一下,连续的0或1整理的一块,从连续1最多的选即可代码:int t,n;int a[150];int b[150];int c[150];int main(){ std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0); cin>>t; while(t--){ string x; cin&g原创 2020-08-15 13:22:51 · 279 阅读 · 0 评论 -
Codeforces 1395 A. Boboniu Likes to Color Balls(奇偶)
传送门题意:给四种颜色的气球,红、绿、蓝、白红、绿、蓝各一个可以变成一个白色的问最终能否构成回文串显然要想构造回文串,四个数里面奇数的个数要么为0要么为1那就看能否把四个数变成这样的即可,讨论一下代码:int main(){ std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0); int t; int n; cin>>t; while(t--){ ll r,g,b,w;原创 2020-08-13 10:04:04 · 253 阅读 · 0 评论 -
2019CCPC秦皇岛赛区 hdu 6734 Decimal(找规律 签到)
传送门DecimalTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 1158 Accepted Submission(s): 577Problem Description Given a positive integer n, determine if 1n原创 2020-08-10 22:59:33 · 222 阅读 · 0 评论 -
Codeforces Round #633 (Div. 2) B. Sorted Adjacent Differences(排序,思维)
传送门题意:给一个数组,然后让你找一个满足题意的排序方式思路:先从小到大排序,拿第一个举例-2,4,5,5,6,8要输出的序列应该是每次从前面选一个,然后从后面选一个-2,8,4,6,5,5然后把该序列倒着输出即可代码:#include <iostream>#include <stdio.h>#include <algorithm>...原创 2020-04-13 09:50:02 · 163 阅读 · 0 评论 -
Codeforces Global Round 7 C. Permutation Partitions(思维)
传送门题意:给两个数n,k把长度为n的数组分成k个不相交的区间把分成每个区间的最大值加在一起找到和的最大值,并输出共有多少种分法等于该最大值思路:要想值最大,那前k大的数肯定在不同的区间分法的话,就看这k个位置之间的有几个数,该区间与下一个区间就有几种情况,把所有的乘起来即可代码:#include <iostream>#include <stdio.h>...原创 2020-03-20 08:46:50 · 163 阅读 · 0 评论 -
Codeforces Global Round 7 A. Bad Ugly Numbers(思维)
传送门题意:给一个n,输出一个长度为n的数,这个数不能整数每一位思路:2333333333即可是奇数,所以不能整除2,所有数的和等于3*(n-1)+2,不是3的倍数,所以不能整除3代码:#include <iostream>#include <stdio.h>#include <algorithm>#include <string.h&...原创 2020-03-20 08:33:48 · 164 阅读 · 0 评论 -
Codeforces Round #628 (Div. 2) D. Ehab the Xorcist(异或构造,思维)
传送门题意:给两个整数u,v,构造一个数组,使得数组的异或和等于u,数组的和等于v要求构造的数组尽可能的短思路:对于每种情况讨论输出即可,注意几种情况的特判看代码应该能明白代码:#include <iostream>#include <stdio.h>#include <algorithm>#include <string.h>...原创 2020-03-15 12:15:35 · 1319 阅读 · 0 评论 -
Codeforces Round #628 (Div.2) C.Ehab and Path-etic MEXs(树,思维)
传送门题意:给一颗n个结点的数,然后n-1条边,我们要做的就是把0—n-2,这n-1个数赋给n-1条边,然后使得所有MEX(u,v)最大值最小,输出每条边赋的值MEX(u,v)是u到v这条路径上,没出现的最小非负整数思路:如果是一条链,随便给值即可如果不是一条链,那肯定有个结点的度大于等于3,把这个结点周围的三个点分别给值0,1,2,这样所有MEX(u,v)最大值为2,因为不可能有一条...原创 2020-03-15 11:17:44 · 2451 阅读 · 0 评论 -
Codeforces Round #627 (Div. 3) D. Pair of Topics(二分,思维)
传送门题意:The pair of topics ???? and ???? (????<????) is called good if ????????+????????>????????+???????? (i.e. it is more interesting for the teacher).找满足这个不等式的对数思路:移项得 ????????-????????>????????-????????我们把ai−bia_i-b_iai−bi放到数组中排序,每次只用找到,原创 2020-03-13 09:48:45 · 2478 阅读 · 0 评论 -
Codeforces Round #627 (Div. 3) C. Frog Jumps(思维)
传送门题意:开始位置在0,问能否跳到n+1位置每步只能跳d在1——n每个位置有方向,L,R,求d的最小值思路:只用找相邻两个R之间的最大值即可代码:#include <iostream>#include <stdio.h>#include <algorithm>#include <string.h>#include <v...原创 2020-03-13 09:35:35 · 2569 阅读 · 4 评论 -
2019牛客暑期多校训练营(第四场)K number(思维)
传送门300iq loves numbers who are multiple of 300.One day he got a string consisted of numbers. He wants to know how many substrings in the string are multiples of 300 when considered as decimal intege...原创 2020-03-12 15:35:09 · 257 阅读 · 0 评论 -
AtCoder Beginner Contest 158 D - String Formation(思维)
传送门题意:给一个字符串,然后有q次操作Ti==1T_i==1Ti==1就是把字符串翻转Ti==2T_i==2Ti==2Fi==1F_i==1Fi==1把cic_ici加到字符最前面Fi==2F_i==2Fi==2把cic_ici加到字符最后面输出最终的字符串思路:直接一步一步操作肯定会超时那就考虑如何直接得到结果对与每次插入字符来说,它在的位置,看他后面要翻转...原创 2020-03-07 23:42:58 · 516 阅读 · 0 评论 -
Codeforces Round #626 B. Count Subrectangles(思维)
传送门题意:两个数组a,b(仅有0,1)一个整数kci,j=ai∗bjc_{i,j}=a_i*b_jci,j=ai∗bj找出所有c矩阵的子矩阵的大小为k且里面的值都为1思路:很显然a[i]=0a[i]=0a[i]=0时,第i行的数全为0,b[i]=00,b[i]=00,b[i]=0时,第i列的数全为0我们把a,ba,ba,b数组处理一下,把连续的1放在一起,相当于把数组压缩一下...原创 2020-03-07 23:09:00 · 408 阅读 · 0 评论 -
CodeCraft-20 (Div. 2) C. Primitive Primes(思维)
传送门题意:两个多项式相乘,得h(x),随便找到h(x)的某一项系数CtC_tCt%p!=0,输出t即可思路:考虑乘完之后h(x)的每一项系数c0:a0∗b0c_0:a_0*b_0c0:a0∗b0c1:a0∗b1+a1∗b0c_1:a_0*b_1+a_1*b_0c1:a0∗b1+a1∗b0c2:a0∗b2+a1∗b1+a2∗b0c_2:a_0*b_2+a_1*b_...原创 2020-03-05 17:14:12 · 255 阅读 · 0 评论 -
CodeForces - 1305 E. Kuroni and the Score Distribution(思维 详解)
传送门题意:给两个整数n,m让输出一个长度为n的数组,满足1≤i<j<k≤n1≤i<j<k≤n1≤i<j<k≤nai+aj=aka_i+a_j=a_kai+aj=ak的组数为m组思路:考虑如何让它最多,即1,2,3,4,5,6…这样的时候那每个位置能贡献几组满足题意的三元组呢计算发现他们的贡献为0,0,1,2,4,6,9,12…即(i−1...原创 2020-03-04 17:42:27 · 732 阅读 · 3 评论 -
Codeforces Round #625 (Div. 2, based on Technocup 2020 Final Round) B. Journey Planning(思维)
传送门题意:给一个长度为n的数组b然后从b数组中选出一些位置c1,c2,c3,c4......ck>ck−1c_1,c_2,c_3,c_4......c_k>c_{k-1}c1,c2,c3,c4......ck>ck−1使得他们满足ci+1−ci=bci+1−bcic_{i+1}-c_i=b_{c_i+1}-b{c_i}ci+1−ci=bci+1−bc...原创 2020-03-02 16:31:08 · 161 阅读 · 0 评论 -
I:牛牛的汉诺塔
传送门题意:分析:暴力发现的规律,然后打表即可,下面有打表代码代码:#include <iostream>#include <stdio.h>#include <algorithm>#include <string.h>#include <vector>#include <math.h>#include...原创 2020-02-08 20:32:09 · 257 阅读 · 0 评论 -
I:建通道 (思维,位运算)
2020牛客寒假算法基础集训营2传送门题意:分析:如果两个数相等那么他们的异或值为0,所以直接把他们连起来即可考虑所有不同的数(cnt个):因为花费的值为 x 二进制最低位 1 对应的值,那么在越低的位把他们异或得到1,花费越小,那么所有的数中只要在第k位,既有0又有1,那么就把是0的和是1的相连,把是1的和是0的相连,需要花费(1<<k)*(cnt-1)我们使k(0&...原创 2020-02-07 15:53:40 · 512 阅读 · 0 评论 -
Codeforces 1296C Yet Another Walking Robot
传送门题意:给一个长度为n的字符串,仅有LRUD组成,代表移动的方向,机器人最初在(0,0)位置,问能否找到字符串的一段字串, 把它删除后,不改变机器人最后到达的位置,输出字串的左右端l,r若不存在输出-1思路:标记每次机器人可以到达的位置,两次到达同一位置之间的字符串可以删除,取所以符合题意最小值即可代码:#include <iostream>#include <...原创 2020-02-05 21:58:30 · 306 阅读 · 0 评论 -
H:nozomi和字符串
传送门题意:nozomi看到eli在字符串的“花园”里迷路了,决定也去研究字符串问题。她想到了这样一个问题:对于一个“01”串而言,每次操作可以把0 字符改为1 字符,或者把 1 字符改为 0 字符。所谓“01”串,即只含字符0 和字符 1 的字符串。nozomi有最多 k次操作的机会。她想在操作之后找出一个尽可能长的连续子串,这个子串上的所有字符都相同。nozomi想问问聪明的你,这...原创 2020-02-04 21:04:06 · 468 阅读 · 0 评论 -
G:eli和字符串
传送门题意:eli拿到了一个仅由小写字母组成的字符串。她想截取一段连续子串,这个子串包含至少 个相同的某个字母。她想知道,子串的长度最小值是多少?注:所谓连续子串,指字符串删除头部和尾部的部分字符(也可以不删除)剩下的字符串。例如:对于字符串“arcaea”\mathit{“arcaea”}“arcaea”而言,“arc”\mathit{“arc”}“arc”、“rcae”\mathi...原创 2020-02-04 20:45:41 · 329 阅读 · 0 评论 -
A: honoka和格点三角形(思维)
传送门题意:honoka最近在研究三角形计数问题。她认为,满足以下三个条件的三角形是“好三角形”。1.三角形的三个顶点均为格点,即横坐标和纵坐标均为整数。2.三角形的面积为 1。3.三角形至少有一条边和 x轴或 y轴平行。honoka想知道,在平面中选取一个大小为n∗mn*mn∗m的矩形格点阵,可以找到多少个不同的“好三角形”?由于答案可能过大,请对1000000007取模。思...原创 2020-02-04 20:10:19 · 1007 阅读 · 0 评论 -
Codeforces 1291C. Mind Control
传送门题意:给3个整数n,m,k然后一个长度为n数组m代表你要在排在第m个位置取数,每次取数只能取第一个或者最后一个,取完把这个数删除k代表你能控制k个人的取数,意思就是你可以让他们取第一个或者最后一个,但是其他人不听你的问你最小能取到的数有多大,并输出该数思路:暴力枚举即可o(n^2)可以过只用枚举他不能控制的人且在他前面的人的每种情况,对于他能控制的k个人的取数,我们不关心他...原创 2020-02-03 14:26:34 · 271 阅读 · 0 评论 -
Codeforces 1291B. Array Sharpening
传送门题意:给一个长度为n的数组,问能否通过操作把该数组变成先严格递增,然后再严格递减的数组操作为如果一个数大于0,可以把他-1,对于每个数可以进行任意次思路:贪心,为了更好的让他满足题意,我们先考虑递增的,只要a[i]>=i-1,是不是他就可以满足变成i-1,数组变成这样012345…,当遇到不能变成i-1的时候,只能开始递减,为了更好的满足,每次我们只让他比前一个数小1,当递减...原创 2020-02-03 14:04:37 · 392 阅读 · 0 评论 -
Codeforces 1291A Even But Not Even
传送门题意:有一种数是 ebne:意思就是他本身不是偶数但各个位数的和是偶数给一个长度为n(1≤n≤30001 \le n \le 30001≤n≤3000)的数,问删掉某些位上的数后,剩下的数是不是ebne数,可以删除0位,但不能全删除,输出任意一个符合的即可思路:很明显,只要这个数有两个以上的奇数位就可以满足题意,答案输出即为:最后一位是奇数的保留,因为要求这个数本身是奇数,然后前面...原创 2020-02-03 13:53:36 · 298 阅读 · 0 评论 -
Codeforces 1294F Three Paths on a Tree(树的直径,思维)
传送门题意:给一个n个结点的无权树,三个结点p1,p2,p3,这三个结点组成的三条路径的路径并集(这个意思就是三条路径之间,重复的边算一次)为ans,找出使得ans最大的三个结点,可能答案有多个,输出一种组合即可思路:很显然有种最优解的两个结点为直接的端点p1,p2(直接用两次bfs找直接的端点即可)然后呢,我们要再找到一个点p3使得,三个点之间的路径的并集最大我们发现三个点之间的路径...原创 2020-02-01 22:47:17 · 234 阅读 · 0 评论 -
Codeforces 1295B Infinite Prefixes
传送门题意:给两个整数n,x;然后一行长度为n的01字符串st字符串为s的无限循环构成 t=sssssst=sssssst=sssssscnt0,q−cnt1,qcnt_0,q−cnt _1,qcnt0,q−cnt1,q等于q字符串中0的个数减去1的个数问有多少可能的t的前缀子串的cnt0,q−cnt1,qcnt_0,q−cnt _1,qcnt0,q−cnt1,q==x如果有...原创 2020-01-30 14:07:32 · 533 阅读 · 0 评论 -
Codeforces 1295A Display The Number(思维)
传送门题意:如图,要想让0亮需要6段,让1亮需要2段,让2亮需要5段…让7亮需要3段…出一个整数n,表示可以亮的段数,问能显示出来最大的值为多少思路:位数越多肯定表示的数越大,可以看出结论,如果n为偶数,那么输出n/2位个1,如果n位奇数,输出一个7,然后输出(n-3)/2个1代码:#include <iostream>#include <stdio.h>...原创 2020-01-30 13:48:22 · 283 阅读 · 0 评论 -
Codeforces 1294E Obtain a Permutation(思维)
传送门题意:给出一个n*m的矩阵两种操作:1,可以把矩阵中的任一个数更改成任意值2,把矩阵中的某一列整体上移一个单位例如:第一列进行了2操作一次问最少进行多少次操作把原来的矩阵变成思路:分析,每一列之间的操作都是独立的,因此一列一列考虑即可对于每一列,为了得到最少的操作次数,先进行1操作或者是2操作都是一样的,因此我们考虑一列数在向上移动iii次之后,会是什么样的,一部分...原创 2020-01-27 14:04:16 · 343 阅读 · 4 评论 -
Codeforces 1294D MEX maximizing(思维)
传送门题意:先给出MEX的定义:一个数列,他里面没有出现的第一个非负整数给一个q,x然后有q行,每行一个整数,把这个数加到数列中,对数列中的每个数可以+x,或者-x,任意次,使得该数列中的MEX的值尽可能的大,并输出思路:+x,-x操作等同于%x的操作ans为当前要输出的MEX的值,我们现在需要求的就是,在除了已经用去的数之外,其他的数能否变成ans(意思就是ans%x在数列中是否有...原创 2020-01-27 01:22:24 · 242 阅读 · 0 评论 -
Codeforces 1285A Mezo Playing Zoma (思维题)
传送门题意:给一个长度为n的字符串,字符串只有L,R组成,L代表向左移动一个单位,R代表向右移动一个单位,但是由于某些问题,有些字符命令不执行,即遇到L可能不向左移动,遇到R可能不向右移动(不移动就是待在原地不动),最初机器人在0,问它可能移动到点的数量思路:直接找到最左端能移动到哪个位置,最右端能移动到哪个位置,相加再加1(原来的0位置)即可,代码很简单代码:#include <...原创 2020-01-19 13:08:17 · 251 阅读 · 0 评论 -
P3197 [HNOI2008]越狱(思维水题,快速幂)
题意:传送门思路:直接用总的可能数减去不能越狱的可能数1,每个监狱的犯人都可以信仰 m 种 宗教,所以说一共有 m^n 种组合。2,不能越狱的可能数:第一个人可以信仰 m 种 宗教,在这里插入代码片当一个监狱的犯人信仰一种宗教后,相邻的监狱的犯人只可以信仰 剩下的 m-1种 中的一种 才不会越狱。#include <iostream>#include <bits/s...原创 2020-01-03 19:22:59 · 291 阅读 · 0 评论 -
Codeforces 1263A. Sweet Problem(思维题)
题意:有红,绿,蓝三种颜色的糖各r,g,b个,每天要吃两个糖且颜色不同,问最多能吃多少天思路:先把r,g,b排序,从小到大为a,b,c如果a+b<=c,结果肯定输出a+b否则输出(a+b+c)/2原因:为了使天数最多,每次取最多和次多的两堆,当次多的变成和最少的相等时,把最多的那个平分个最少和中间那一堆,(如果最多的为奇数,那么总共还剩一个,如果为偶数,所有糖果用完),所以说最优解...原创 2019-11-30 20:59:34 · 367 阅读 · 0 评论