
暴力
狐佑 怜
都写都写(指题解)
展开
-
DNA sequence HDU - 1560
HDU - 1560题意:给你N个DNA子序列,请求出包含这些子序列的最短DNA序列的长度思路:用IDA*暴力,用指针推进每一个子序列代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>#define int long long#define pb push_back#define原创 2020-07-16 12:36:23 · 190 阅读 · 0 评论 -
I - A计划 HDU - 2102
HDU - 2102思路:水题一个,暴力BFS就能过,注意判断魔法阵对面是否还是传送阵代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>#define int long long#define pb push_back#define pf push_frontusing namesp原创 2020-07-16 11:20:57 · 157 阅读 · 0 评论 -
1352D Alice, Bob and Candies (1300)
1352D Alice, Bob and Candies题意:N个糖果,每个价值a[i],A从左吃,B从右吃,A先吃,每人每次吃的糖果总价值都必须比另一个人上一次吃的多,求两个人的总行动次数以及两人分别吃了多少思路:左右指针直接暴力跑一遍for循环,时间复杂度O(n)代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bi原创 2020-07-11 12:56:56 · 185 阅读 · 0 评论 -
1351C - Skier (1400)
1351C - Skier题意:NSWE代表上下左右4个方向,每次走一个单位,第一次走的路花费时间5,不是第一次走的路花费时间1,求最后所花时间思路:暴力嗷,假设是从原点开始走的,map记录一下就能随便写了代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>#define int lon原创 2020-07-11 10:32:53 · 399 阅读 · 0 评论 -
1368C - Even Picture(1500)
1368C - Even Picture题意:在一个全是网格的图中,你可以选择一些格子涂灰,请你涂一些格子并且满足以下条件:所有格子必须是连通的对于每一个格子,都有偶数个格子与它相邻有恰好N个格子,它们的上下左右都有格子相邻思路:个人觉得下面这种图形是最完美的每个格子都是偶数个相邻,只要将这种图形的边角不断的重叠就能构造出我们需要的上下左右都相邻的格子一个又一个所以我们需要初始方块4个,和剩下N*3个格子用来构造每一个四边相邻的格子代码附:#pragma GCC optimi原创 2020-07-10 20:39:55 · 202 阅读 · 0 评论 -
1368D - AND, OR and square sum
1368D - AND, OR and square sum题意:给你N个数,你可以选择任意两个数 i,j ,使得原本a[i]=x,a[j]=y变为a[i]=x&y,a[j]=x|y;,可以做这种操作无数次,请使得这N个数的平方和最大思路:题上已经说得很清楚了,用二进制做,直接把每一个数的二进制位都扣下来,然后每次都去取这些二进制位来组成当前能组成的最大数来算平方和代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#prag原创 2020-07-10 15:48:02 · 180 阅读 · 0 评论 -
1367B - Even Array (800)
1367B - Even Array题意:通过交换数组中的任意位置的元素,能够使得数组的下标的奇偶校验与元素相同的最小操作次数是?思路:判断错误的奇数与偶数个数是否相同,相同直接输出,否则输出‘-1’代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>#define int long l原创 2020-07-10 15:03:51 · 232 阅读 · 0 评论 -
Codeforces Round #650 (Div. 3) A. Short Substrings (800)
A. Short Substrings题意:给你字符串B,请你猜出字符串A,字符串B=a[0]+a[1]+a[1]+a[2]+a[2]+a[3]+a[3]……+a[n],其中a[0]和a[n]只出现一次思路:先输出a[0],剩下的只输出下标为奇数的代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.原创 2020-07-10 13:13:02 · 199 阅读 · 1 评论 -
1369A - FashionabLee (800)
1369A - FashionabLee题意:给你一个N边形,判断他是否存在一条边平行X轴,一条边平行Y轴思路:直接判断N是不是4的倍数,这样上下左右的边才都是平行的代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>#define int long longusing namespa原创 2020-07-10 11:21:04 · 328 阅读 · 0 评论 -
1369C - RationalLee (1400)
1369C - RationalLee题意:有N个物品,每个物品价值A[i] ,将这些物品分配给K个人,每个人要W[i]个物品,求每个人得到的物品价值的最大值和最小值之和的最大值思路:贪心思想,先让只要一个物品的人拿价值最大的东西,接着让剩下的人先从价值最大的物品开始每人取走一个,然后再让W小的人从剩下的物品中从最大价值的开始取代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2原创 2020-07-10 10:31:33 · 180 阅读 · 0 评论 -
Codeforces Round #651 (Div. 2) A. Maximum GCD (800)
A. Maximum GCD题意:找到[1,n]中GCD最大的一对数的GCD思路:暴力秒A,直接输出N/2代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>#define int long longusing namespace std;const int N = 2e5+10;原创 2020-07-10 06:09:26 · 106 阅读 · 0 评论 -
1370B - GCD Compression (1100)
1370B - GCD Compression题意:给一个大小为2N的数组A,请你从该数组从丢弃任意两个数,并将剩下(2N-2)个数两两相加,组成一个新的数组B,该数组B的所有元素的GCD>1思路:直接判断奇数奇偶性即可,丢弃两个数后使得奇数的个数为偶数,这样,奇数两两相加,偶数两两相加,GCD==2代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,m原创 2020-07-10 06:03:23 · 208 阅读 · 0 评论 -
1370E Binary Subsequence Rotation (2100)
1370E题意:两个01串,s和t,你能将s的子串顺时针位移一下,请问最少要多少次操作能使得s==t思路:这就是一个思维题,想通了就很简单。不要管位置正确的那些字符,只把位置错误的单独拿出来看,就能发现如果是01010101……这种或者101010……这种就只用一次操作就能把位置修正,所以我们只需要找这样的串一共有多少个就行了代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,原创 2020-07-09 12:13:50 · 158 阅读 · 0 评论 -
Codeforces Global Round 9 D. Replace by MEX (1900)
D. Replace by MEX题意:存在一个数组A,令该数组中不存在的最小非负数为MEX,每次操作可以让任意a[i]=mex,请在2N的操作次数以内使得数组A非递减思路:让a[i]=i,每次操作完边界a[i]都让边界缩小,如果mex==n就放在a[n-1]代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/s原创 2020-07-09 09:33:02 · 145 阅读 · 0 评论 -
Codeforces Global Round 9 B. Neighbor Grid(1200)
B. Neighbor Grid题意:一个n×m大的网格里,每个网格里都有一个值,你可以使得任意网格里的数字加一,网格里的数字X代表这个网格附近恰好有X个网格里的值不为0的网格相邻(有相同边才相邻)思路:暴力暴力暴力,全部网格的值全部改为邻近网格数,如果有超过该值的网格存在就输出“NO”代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#inc原创 2020-07-09 08:43:18 · 155 阅读 · 0 评论 -
Codeforces Global Round 9 A. Sign Flipping(1100)
A. Sign Flipping题意:N 个数,可以随意改变他们的正负,请让n/2对ai+1−ai是非负数,n/2对ai+1−ai是非正数思路:直接暴力正负正负代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>#define int long longusing namespace原创 2020-07-09 08:38:00 · 118 阅读 · 0 评论 -
POJ - 1733 Parity game (带权并查集+离散化)
POJ - 1733题意:有一个长度为N的序列,有M条讯息,会告诉你[a,b]的奇偶性,判断在讯息出现第一次冲突的信息前一共有多少条讯息是可信的思路:带权并查集的板子+离散化操作,又是一道暴力就完事儿的题代码附:#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<set>#include<map>using原创 2020-07-08 17:41:58 · 137 阅读 · 0 评论 -
[POJ-1984] Navigation Nightmare
[POJ-1984]题意:给出一张无向图,求两点的曼哈顿距离思路:暴力,直接暴力,说白了就是道题意麻烦点的带权并查集板子题代码附:#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N = 4e4+10;int n,m,q;int fa[N],rx[N],ry[N],ans[N>>2];struct node1{原创 2020-07-08 16:55:01 · 113 阅读 · 0 评论 -
HDU6186 CS Course
HDU6186思路:一开始很SB的一直在想位运算,后来看了一下别人怎么写的,才发现这就是个前缀和后缀和垃圾题P.S.卡多组输入代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>#define int long longusing namespace std;const int N =原创 2020-07-07 11:08:49 · 155 阅读 · 0 评论 -
HDU6182 A Math Problem
HDU6182题意:问小于等于 n 的pow(i,i)一共有多少个思路:暴力打表代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>#define int long longusing namespace std;const int N = 2e5+10;signed main()原创 2020-07-05 22:57:59 · 181 阅读 · 0 评论 -
HDU6188 Duizi and Shunzi
HDU6188题意:给你 n 张牌,问用这些牌能组成的对子和顺子的总和最大是多少思路:暴力求解,如果当前这张牌能组成顺子里最后那一张,那就组成顺子,然后剩下的牌全部组成对子代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>#define int long longusing name原创 2020-07-05 22:43:50 · 155 阅读 · 0 评论 -
Codeforces Round #653 (Div. 3) E2 - Reading Books (hard version) (2500)
Reading Books (hard version)题意:有 n 本书,每本书有3个属性,int类型的 time,bool类型的a,bool类型的b,现在你需要选择 m 本书,并且满足 a 为 1 的书至少要有 k 本,b 为 1 的书至少要有 k 本,在这个前提下 val 的总和还需要最小思路:暴力模拟,先全选 a==1&&b==1的书,然后再按照 5 种方案加书用一本a==1&&b==0的书和一本a==0&&b==1的书与一本a==1&am原创 2020-07-03 00:20:23 · 272 阅读 · 0 评论 -
Codeforces Round #653 (Div. 3) F. Cyclic Shifts Sorting (2400)
F. Cyclic Shifts Sorting题意:给你一个长度为 n 的数组,你每一次操作只能选中3个连续的元素将他们右移,即:[ai,ai+1,ai+2] to [ai+2,ai,ai+1],问能否在 n² 次操作内将该数组按从小到大排序思路:因为是个分值2400的题,一开始以为会很难想,但是看了一下tag,发现里面有 brute force,暴力就暴力,我最会暴力了。n这么小,那就搞双层循环,先是从后往前把小的值往前传,能跳两下就跳两下,不然就检查左右元素,看能不能朝前面至少跳一下没有小原创 2020-07-02 20:46:31 · 189 阅读 · 0 评论 -
Educational Codeforces Round 90 (Rated for Div. 2) B. 01 Game (900)
思路:求01串当中0和1中数量较小的的那一个的奇偶性代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>#define int long longusing namespace std;const int N = 2e5+10;signed main(){ ios::sync_原创 2020-07-01 20:43:14 · 124 阅读 · 0 评论 -
Educational Codeforces Round 90 (Rated for Div. 2) A. Donut Shops (1000)
1373A - Donut Shops题意&&思路:if(a<c)cout<<1;else cout<<-1;if(a*b>c)cout<<b;else cout<<-1;代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc原创 2020-07-01 20:28:13 · 121 阅读 · 0 评论 -
Educational Codeforces Round 90 (Rated for Div. 2) C. Pluses and Minuses (1300)
C. Pluses and Minuses题意:给一个字符串s,有如下代码:res = 0for init = 0 to inf cur = init ok = true for i = 1 to |s| res = res + 1 if s[i] == '+' cur = cur + 1 else cur = cur - 1 if cur < 0原创 2020-07-01 20:13:15 · 283 阅读 · 0 评论 -
Educational Codeforces Round 90 (Rated for Div. 2) D. Maximum Sum on Even Positions (1600)
D. Maximum Sum on Even Positions题意:给一个数组,规定最多只能翻转一次该数组的子串,问最后能得到的下标是偶数的元素的值的和最大是多少思路:你问我怎么办?我只能说是暴力,写两个前缀和就完事儿代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>#define原创 2020-07-01 16:35:02 · 131 阅读 · 0 评论 -
Codeforces Round #653 (Div. 3) A. Required Remainder (800)
A. Required Remainder题意:问能不能找到一个最大的K使得0≤k≤n &&k%x==y思路:还能怎么办?直接算啊代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h>#define int long longusing namespace std;co原创 2020-06-30 10:47:04 · 135 阅读 · 0 评论 -
Codeforces Round #653 (Div. 3) B. Multiply by 2, divide by 6 (900)
B. Multiply by 2, divide by 6题意:给你一个数N,你可以进行以下两种操作:N<<=1;if(N%6==0)N/=6;问最少需要几次操作才能使得N==1,做不到就输出-1思路:算N里有几个因子2,N里有几个因子3,2的因子数是否≤3的因子数,除掉这些因子N等不等于1代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,ss原创 2020-06-30 09:51:40 · 138 阅读 · 0 评论 -
Codeforces Round #653 (Div. 3) C. Move Brackets (1000)
C. Move Brackets题意:给一个只含 ‘(’ 和 ‘)’ 字符串,能选中任意一个字符移动到字符串最前面或者字符串最后面,问最少需要这样操作几次使得字符串中的括号全都是常规的括号思路:规定 ‘(’ 为 +1, ‘)’ 为 -1,要么求前缀和为-1的次数,要么求后缀和为+1的次数,都可以,直接暴力代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,m原创 2020-06-30 09:25:46 · 139 阅读 · 0 评论 -
Codeforces Round #653 (Div. 3) D. Zero Remainder Array (1400)
题意:给一个数组A和一个值K,你可以做两种操作X++;(X最初等于0)A[i]+=X;X++;问能否使得A数组里的所有数都能被K整除思路:算出现次数最多且值最小的A[i]%K!=0,ANS就等于次数*K+K-A[i]%K+1不要忘记 +1 操作,因为操作2在执行后X会自动加一代码附:#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#incl原创 2020-06-29 22:01:45 · 124 阅读 · 0 评论 -
Codeforces Round #653 (Div. 3) E1. Reading Books (easy version) (1600)
E1. Reading Books (easy version)题意:给 N 个数,每个数有 3 个属性:int 值 X ,bool 值 A ,bool 值 B ,问能不能在使 X 总和最小的情况下找到 K 个 A 值为 1 和 K 个 B 值为 1 的数思路:暴力,如果AB都为1存进数组 t 里,如果只有 A 是 1 就存进数组 a 里,如果只有 B 是 1 就存进数组 b 里,然后3个数组排序后比较 t[ti] 和 a[ai]+b[bi],得到 sum 输出即可(得不到 K 个就输出 -1)代原创 2020-06-29 20:54:05 · 245 阅读 · 0 评论 -
Educational Codeforces Round 90 (Rated for Div. 2) E. Sum of Digits (2200)
E. Sum of Digits题意:如果F(X) = X 的每一位的总和( 例:F(123) = 6 )那么给定 N 和 K,问能不能找到这样一个X,使得F(X)+F(X+1)+F(X+2)+……+F(X+K) = N,不能的话就输出 -1思路:直接暴力,得到个位数为 0—9 的所有情况,设当前只有个位数时的F(X)之和为 NOW ,那么得到在 (N-NOW)%(K+1)==0 的情况下 REST=(N-NOW)/(K+1) 值最小的情况的个位数G,这时的G就是答案的个位数(如果得不到G就输出-原创 2020-06-29 20:01:41 · 128 阅读 · 0 评论