暴力、思维,枚举
·马克图布·
如果人生真的可以分为几个阶段的话,那么我现在就在感觉自己很普通,并一无是处的那个阶段。
展开
-
C. Tennis Championship(思维、构造)
C题意有一个网球比赛,n个人,赢了比赛加1分,两个人能比赛的条件是两个人相差的分数不大于1。问冠军最多可以得多少分(参加多少场)?思路思维 + 构造我一开始的思路是,尽可能把这nnn个人两两分组然后比赛,但是这样的构造似乎并不正确。如果转换下思维。要参加多少要参加多少要参加多少m场比赛最少需要多少人场比赛最少需要多少人场比赛最少需要多少人显然参加第iii场比赛的人最优是第参加过i−1...原创 2020-01-31 00:14:22 · 271 阅读 · 0 评论 -
CF B. Verse For Santa
题目链接题意:有n个篇文章,每篇文章都有一定的朗诵时间a[i]a[i]a[i],然后圣诞老人只会听SSS的时间,然后你可以删除一篇文章使得圣诞老人可以听很多的文章,问是哪篇文章,如果不用删除的话输出000。思路:脑抽了。。。肯定是选已经阅读的最大时间的文章,这没错。然后注意判断时的细节。#include<bits/stdc++.h>using namespace std;...原创 2019-12-29 13:18:50 · 295 阅读 · 0 评论 -
DongDong破密码(思维:异或)
题目链接 DongDong是一个喜欢密码学的女孩子,她养的萨摩耶叼着一张带着加密信息的纸条交给了她,如果她不能破解这张密码,萨摩耶是不会高兴的。给定n,m,给出长度为n的01串,每次向后移动一位,移动m-1次,最后求出这n+m-1位每一位的异或值(00=0,11=0,0^1=1)成为密码。(如下图这样,此时n=6,m=3)输入描述:第一行两个整数,n和m第二行一个01串(共n+m-1位...原创 2019-12-10 20:44:25 · 225 阅读 · 0 评论 -
Atcoder C - HonestOrUnkind2(位运算技巧:二进制枚举)
#include <bits/stdc++.h>using namespace std;int N;int A[20];int x[20][20];int y[20][20];int counter(int x) { if(x == 0) return 0; return counter(x >> 1) + (x & 1);}v...原创 2019-12-09 22:53:44 · 534 阅读 · 0 评论 -
Atcoder D - Lucky PIN(思维 | DP)
题意:给你n个数组成的排列,问你通过删除n - 3位数,能组成多少种三位数、思路:枚举三位数,然后检验。AC Code:#include<iostream>#include<cstring>#include<queue>#include<map>#include<cmath>#include<set>...原创 2019-12-02 15:43:11 · 252 阅读 · 0 评论 -
2019 ICPC Asia Nanjing Regional A,A Hard problem (规律)
题意:给你一个n,然后让你让你找一个最小的子集属于 {1,2,3,4......n},然后这个子集中存在 一个u,v,使得u 是v 的因子。让你输出这个子集的大小。思路:打表找规律。一开始找错规律了,认为是 1 ~ n 中素数的个数 + 1............然后就悲剧了。。。。浪费了不少时间,还是往错误的方向努力,而且没有验证。如果正确的打表,发现会是 0,2,3,3,4,4,5...原创 2019-12-01 16:59:28 · 1011 阅读 · 4 评论 -
NBUTOJ - [1674] math happy(规律:打表)
问题描述 计算1^1+2^2+3^3.......+n^n的和的个位数 输入 输入整数 T (T个case) 输入整型 n (n < 10^18) 输出 输出算式的答案的个位数 样例输入 3123 样例输出 152 思路:这个范围太大了。考虑打表找规律。然后对于 n^n 的个位数,每20个循环一次。然后对于每10...原创 2019-11-26 12:16:41 · 207 阅读 · 0 评论 -
Atcoder D - Digit Sum Replace(思维:推公式)
题目链接题意:给你一串数字,他是由 di ci 构成,表示有ci个di 。比如如下样例22 29 1表示 2 个 2,1个9 ,也就是这个数字是 229然后题目问你 数字之间不断加和,使得最后的这个数字能变为小于等于9的数,最多能进行多少轮。例如上述的229 -> 49 -> 13 -> 4 ,最多进行3次。思路:可以发现任意两个数字合并并不...原创 2019-11-24 09:03:02 · 325 阅读 · 0 评论 -
cf 、B. Fridge Lockers(思维 + 贪心)
题意:有n个冰箱,然后m个锁链,每条锁链两头都连着冰箱,然后让你每个冰箱都至少连着两条锁链指向不同冰箱。买锁链的钱是两个冰箱重量的和,问最少花费多少钱可以满足,如果满足输出最小花费,否则,输出-1。首先可以想到连一个环可以用最少的锁链满足上述约束,剩下的链子连向两个最小的冰箱重量就行了。一个环中,每个冰箱的重量贡献两次。注意:如果形不成环,或者只有两个冰箱是不满足条件的。AC Co...原创 2019-11-20 22:27:29 · 244 阅读 · 0 评论 -
Atcoder D - Knight(规律 +组合数)
题目链接题意:有一个网格,你只能从(0,0)开始 ,然后每次只能走到(i +1,j + 2)或者(i + 2,j + 1)。问你从(0,0) 走到 (x,y)有多少方案数。思路:找规律,发现可以分层次, (0,0) 是第0层,(1,2),(2,1)是第1层,(2,4),(3,3),(4,2)是第2层,(3,6),(4,5),(5,4),(6,3)是第3层。然后对于每一层你可以找出他们的方...原创 2019-11-17 09:07:18 · 490 阅读 · 0 评论 -
cf B2. Character Swap (Hard Version)(模拟)
题意:给你两个字符串,上面字符可以替换下面字符,且最多只能替换2*n次,问你是否可以通过替换使得这两个字符串相等。思路:比赛时就感觉是暴力,毕竟数据范围比较小,然后就是没有切入点,现在看来,还是没有比较好的去思考问题,有条理的思考问题。首先,如果两个字符串最后可以相等,那么这两个字符串中出现的任意字符的次数应该是偶数,如果不是偶数直接输出No即可。(似乎这是个充分必要条件)然后,就是如...原创 2019-11-14 15:24:00 · 342 阅读 · 1 评论 -
hdu2094 产生冠军(思维)
产生冠军 Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 27652Accepted Submission(s): 12436 Problem Descr...原创 2019-11-08 22:03:56 · 306 阅读 · 0 评论 -
C. Constanze's Machine(思维:斐波那契数)
题意:给你一个字符串,然后给你说 m 可替换为 nn ,w可替换为 uu,然后给你一个替换后的串,问你原字符串可能有多少个。思路:替换后的串中肯定不能含有 m 和 w。然后出现连续个数n或者u时发现是个 斐波那锲数列,然后模拟一下就能过了。AC Code:#include<iostream>#include<cstring>#include<queu...原创 2019-11-07 17:21:32 · 418 阅读 · 0 评论 -
cf D. Almost All Divisors(思维)
题意:给你一个数的所有除了1和它本身的 因数,让你求出这个数。如果有矛盾,那么输出 -1。思路:我真是..............这都想不到了。。。一般来说,因数都是两两配对出现的,除了 4*4 = 16这般。这个题目中出现矛盾有两种,1 给的因数有矛盾2给的因数不全那么,我们给因数从小到大排序,自然最小的和最大的排序。我们从头到尾扫一遍判断第一种情况,然后在把所得的这个数...原创 2019-11-06 14:55:14 · 173 阅读 · 0 评论 -
cf B. All the Vowels Please(思维:构造)
题意:给你一个k,然后问:是否存在一个矩阵 , n *m = k, 然后每一行都有5个元音字母,每一列也都有一个元音字母。如果有的话输出,没有的话输出-1。思路:难得的构造题目,我也试图想过主对角线,却没想到是副对角线啊。不知道什么数学原理。。。AC Code:#include<iostream>#include<cstring>#include<...原创 2019-11-05 16:17:12 · 261 阅读 · 0 评论 -
cf B. Pairs(思维:枚举)
题意:给你m组二元组(x,y),问你是否可以找到两个点,使得每个二元组里都含有这连个点之一。思路:首先,我们先分析下题意。让找两个点,使得每个二元组都含有这两个之一,那么任意一个二元组中都含有这两个点之一。我们不妨枚举第一个二元组。下面分类讨论,1、这个二元组的两个点恰好是要找的那两个点。2、这个二元组可能只含有一个要找的点 2、1 可能是第一个点 2、2可能是...原创 2019-11-04 20:31:31 · 227 阅读 · 0 评论 -
cf B. Ehab Is an Odd Person(思维)
题意:给你一个数组,然后让你重新排序,使得所得排列字典序最小,但是只有奇数和偶数才能交换。思路:只要 这个数组中有奇数和偶数,那么就可以通过不同性质的数作为中间数来交换其他数。比如以奇数为中间数来交换偶数。AC Code:#include<iostream>#include<cstring>#include<queue>#include<...原创 2019-11-04 13:01:46 · 290 阅读 · 0 评论 -
cf B. Catch Overflow(思维,栈模拟)
题意:让你模拟表达式求值的过程。for x 表示 循环从1 到 x。add表示加1 end 表示循环结束。若最后结果大于输出OVERFLOW!!! ,否则输出累加的值。思路:直接模拟,由于只有+1操作,所以循环嵌套累乘即可,然后直接爆long long 。思维真是烂的要死。既然他已经大于了,那么多1,多2不是一样嘛。所以如果大于的 话取不就得了。AC Code:#...原创 2019-11-03 22:11:45 · 168 阅读 · 0 评论 -
cf A. From Hero to Zero(思维,取模)
题意:给你两个数字n,k,然后每次你可以进行两种操作,1、n 减 一2、如果n 可以整除 k,那么 你可以 进行 n / k问你最终n到零的最小操作。思路:我思维真的烂到死了。。。对数学的感觉也真是差这个题目我第一感觉就是暴力,可是感觉1e18的范围有点大,没想到真的超时了。这个题目基于贪心,能除就除呗,不能那只能减 1了,如果你只是单存的模拟这个过程,那你会T到死。那就想...原创 2019-11-03 20:03:07 · 244 阅读 · 0 评论 -
cf A. Balanced Rating Changes(思维)
题目链接 题意:给你n个数。他们的和为0,然后让你输出他们 除2后的结果,偶数直接除2即可,然后奇数或者向上取整,或者向下取整,保证输出序列的和也为0,。思路:如果不取整,每一位都按同等比列缩小(除2),和肯定还是0,现在 要取整,设置一个变量 考虑每个奇数的贡献。如果向上则+1,向下则 - 1,然后每次都向零的方向靠拢即可求出解。还要注意一点,我不知道为什么直接输出ceil(...原创 2019-10-17 09:15:00 · 304 阅读 · 0 评论 -
P1211 [USACO1.3]牛式 Prime Cryptarithm(暴力)
题目描述下面是一个乘法竖式,如果用我们给定的那n个数字来取代*,可以使式子成立的话,我们就叫这个式子牛式。 *** x ** ---------- *** *** ---------- ****(请复制到记事本)数字只能取代*,当然第一位不能为0,况且给定的数字里不包括0。注意一下...原创 2019-05-30 09:14:39 · 344 阅读 · 0 评论 -
B. Dima and Sequence(思维 规律)
题目链接————让你求f(ai) = f(aj)的对数f(0) = 0; f(2·x) = f(x); f(2·x + 1) = f(x) + 1.其实可以发现f(x)表示的是x二进制中1的位数。然后就是统计二进制中位数相等的数,然后AC Code:#include<iostream>#include<algorithm>#inc...原创 2019-08-30 10:28:15 · 191 阅读 · 0 评论 -
C. Dima and Staircase(思维)
题目链接————类似于俄罗斯方块,但是每次方块的左端点总在最左,让你输出每个方块落下时的高度。思路:这个题目很重要的两点,一个是每次方块都靠最左,二是给的楼梯都是递增的。所以综上两点,只需要维护一个最大高度就可以。AC Code:#include <iostream>#include<cstdio>#include<cstring>#...原创 2019-08-30 10:44:12 · 221 阅读 · 0 评论 -
E. Dima and Horses(构造 + 染色)
题目链接————有n匹马,m个敌对关系(相互),然后分成两个集合,每一个集合中每匹马敌对的马不超过1,问怎么分。思路: 昨晚完全没有思路,连最暴力的想法都没想到,真的是菜呐。其实一开始都认为在一个集合中就行,然后检查是否符合条件,可以骗数据。循环几十次,就差不多了,我试了试,循环十次也可以完全搞定。但是,如果是另一种算法,我是指那种遇到不符合的就把它换到另一个集合中,然后重新开始循...原创 2019-08-30 15:21:02 · 273 阅读 · 0 评论 -
B. Convex Shape(思维 暴力)
题目链接————题意大致是让你判断黑色方块只转一次向是否可以到达其他黑色方块。思路:因为题目范围给的比较小,所以可以枚举任意两个方块看其是否符合。有三种情况1、同一行2、同一列3、不满住以上同一行判断之间是否有白色空格,同一列判断之间是否有白色空格。至于不在同一列和同一行的情况,其实只需要判断两个点是不是白色个格即可。为什么呢?在满足1,2条件下,没有两个黑色方...原创 2019-08-31 10:35:45 · 306 阅读 · 0 评论 -
19南昌icpc网络赛 Magic Master(deque 模拟)
题目链接————题意大致是有一堆牌在桌子上,然后按照他给的规则进行拿取翻动,最后在手中形成一个递减的序列。思路:直接暴力模拟,由于在顶部和底部都会有拿取和删除的操作,所以考虑双端队列模拟。可是,却翻车了。因为时间到最后的尾声,我写代码,他们在一旁检查,写完程序后提交TLE,检查却没检查出错误,可是别的队暴力都过了,我们为什么会超时,我们归结到deque常数巨大上。而我却忘记了我写的代码...原创 2019-09-09 22:02:58 · 165 阅读 · 0 评论 -
19icpc徐州网络赛 Center(有技巧的枚举)
题意大致是给你 n个点,然后让你添加最少的点使得这n个点呈中心对称。思路:枚举每两个点的中心点。以下来自一位dadao的话 ————原文链接————: 中心点由集合中的两个点得到 两层循环保证构成中心点的两个点都被记录了下来 同时还有一种特殊情况:就是集合中本就有中心点存在,比如(-1,0)(1,0)(0,0)这里中心点就是(0,0) 所以对于集合中本就是中心点的...原创 2019-09-10 15:13:30 · 208 阅读 · 0 评论 -
19icpc上海网络赛 Digit sum(预处理)
题意:一开始给你 一个十进制的数n, 然后给你一个k进制,问 1 - n 在k 进制下的数的分解位数的和为多少。思路:一开始暴力模拟,理所当然的超时了,直接模拟复杂度超 1e9,然后我就想预处理均摊一下复杂度,然后就AC了。AC Code:#include<bits/stdc++.h>using namespace std;#define ll long lo...原创 2019-09-16 20:44:51 · 199 阅读 · 0 评论 -
C. Cows and Sequence(思维,lazy思想)
题意大致是给你三个操作,然后每个操作后输出平均值。一开始序列中有一个零。1、给你一个 xi ,ai 。要求在序列前ai个数上加上xi2、在序列尾部添加一个数xi3、删除序列尾部的数。思路:这个题目可以用线段树来做,但是我没做出来。。。还是我菜。。。看CF大佬的代码,发现只需要开两个数组就可以解决这个问题。一个数组保存添加到后边的数,一个数组保存区间添加的数,因为每次都是添...原创 2019-09-19 09:34:46 · 276 阅读 · 0 评论 -
(NCPU)2019 E. Generalized Pascal's Triangle(杨辉三角 规律)
题意:猜的规律,具体题意我也不清楚。。。思路:求出杨辉三角,然后每一行乘以n的组合数 就是答案了。需要注意的是20的阶乘会爆intAC Code:#include<bits/stdc++.h>using namespace std;#define ll long longll f(ll x){ if(x == 1||x == 0) return 1;...原创 2019-09-21 20:13:07 · 193 阅读 · 0 评论 -
(NCPU)2019 C. Boxes(list 暴力模拟)
题意:一开始有一个1 ~n的序列,然后给你4个操作对这个序列操作。1 、 x y 把x 放到 y左边2、x y 把x 放到y右边3、交换 x y的值4、链 逆置用list模拟上述操作AC Code:#include<bits/stdc++.h>using namespace std;#define ll long longint m...原创 2019-09-21 22:18:30 · 176 阅读 · 0 评论 -
Japanese Student Championship 2019 Qualification B - Kleene Inversion(规律 + 快速乘)
题目链接————题意大致是给你一个数列,然后给你一个k,表示一串数字有k个这样的数列组成,问一串数的逆序数是多少?eg:2 22 1In this case,B=2,1,2,1 逆序数为 3思路:这题k的范围为1e9所以肯定要找规律。拿 132132132 来说,它是由3个132组成,所以先求出132的逆序数,假设为num1,他有3个,...原创 2019-08-25 11:44:42 · 2566 阅读 · 0 评论 -
B. Code Parsing(思维)
题目链接————题目大意是给你一个只含x和y的字符串然后有两种操作1、遇到yx -- -> 交换位置 变成 xy不能进行操作1后,进行操作22、遇到xy 删除 这两个字符问你经过上述操作后,输出剩余的字符思路: 暴力会超时,在纸上写写发现,无论怎么变化最后都是一个x抵消一个yAC Code:#include<bits/stdc++.h>u...原创 2019-08-20 17:05:53 · 275 阅读 · 0 评论 -
A. BowWow and the Timetable(思维)
题目链接————题意大致是给你一个二进制串,然后问 (k = 0,1,2.。。。。)小于这个二进制串的数有多少个。思路:一开始看到二进制的数据范围吓我一跳,2^100,玩个毛,后来一想应该是说二进制的长度是<=100的。然后找规律,就是(k = 0,1,2,3.........),变为二进制就是 0001,00100,0010000。然后我的大体想法就是二进制串进行比较,具体放代...原创 2019-08-24 09:21:27 · 401 阅读 · 0 评论 -
P1459 三值的排序 Sorting a Three-Valued Sequence(枚举)
题目描述排序是一种很频繁的计算任务。现在考虑最多只有三值的排序问题。一个实际的例子是,当我们给某项竞赛的优胜者按金银铜牌排序的时候。在这个任务中可能的值只有三种1,2和3。我们用交换的方法把他排成升序的。写一个程序计算出,给定的一个1,2,3组成的数字序列,排成升序所需的最少交换次数输入输出格式输入格式:第一行:奖牌个数N (1 <= N <= 1000)...原创 2019-06-18 00:18:22 · 334 阅读 · 0 评论 -
P1458 顺序的分数 Ordered Fractions(枚举)
题目描述输入一个自然数N,对于一个最简分数a/b(分子和分母互质的分数),满足1<=b<=N,0<=a/b<=1,请找出所有满足条件的分数。这有一个例子,当N=5时,所有解为:0/1 1/5 1/4 1/3 2/5 1/2 3/5 2/3 3/4 4/5 1/1给定一个自然数N,1<=n<=160,请编程按分数值递增的顺序输出所有解。注:①0...原创 2019-06-15 15:20:28 · 293 阅读 · 0 评论 -
poj2189 Romeo Meets Juliet(枚举)
DescriptionFarmer John has two feuding herds of cattle, the Moontagues and the Cowpulets. One of the bulls in the Moontague herd, Romeo, has fallen in love with Juliet, a Cowpulet. Romeo would like ...原创 2019-06-08 13:42:57 · 206 阅读 · 0 评论 -
P1218 [USACO1.5]特殊的质数肋骨 Superprime Rib(优雅的暴力—打表)
题目描述农民约翰的母牛总是产生最好的肋骨。你能通过农民约翰和美国农业部标记在每根肋骨上的数字认出它们。农民约翰确定他卖给买方的是真正的质数肋骨,是因为从右边开始切下肋骨,每次还剩下的肋骨上的数字都组成一个质数,举例来说: 7 3 3 1 全部肋骨上的数字 7331是质数;三根肋骨 733是质数;二根肋骨 73 是质数;当然,最后一根肋骨 7 也是质数。 7331 被叫做长度 4 的特殊质数。写...原创 2019-05-31 23:32:00 · 266 阅读 · 0 评论 -
P1217 [USACO1.5]回文质数 Prime Palindromes(优雅的暴力—打表)
题目描述因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数。写一个程序来找出范围[a,b](5 <= a < b <= 100,000,000)( 一亿)间的所有回文质数;输入输出格式输入格式:第 1 行: 二个整数 a 和 b .输出格式:输出一个回文质数的列表,一行一个。输入输...原创 2019-05-31 20:45:26 · 311 阅读 · 0 评论 -
P1214 [USACO1.4]等差数列 Arithmetic Progressions(有技巧的枚举)
题目描述一个等差数列是一个能表示成a, a+b, a+2b,..., a+nb (n=0,1,2,3,...)的数列。在这个问题中a是一个非负的整数,b是正整数。写一个程序来找出在双平方数集合(双平方数集合是所有能表示成p的平方 + q的平方的数的集合,其中p和q为非负整数)S中长度为n的等差数列。输入输出格式输入格式:第一行: N(3<= N<=25),要找...原创 2019-05-31 13:04:36 · 292 阅读 · 0 评论