暴力
傻蛋的阿简
我,会骗人的江湖骗子
展开
-
CodeForce 1011A
题目链接:题目下面有两种解法:第一种字符串暴力 第二种dp#include<iostream>using namespace std;const int maxn=60;long long arr[maxn];int main(void) { int n,k,i,ans=0; string str; cin>>n>>k&...原创 2018-07-27 11:04:43 · 295 阅读 · 0 评论 -
Codeforces 801C 二分
传送门:题目题意:一共有n个电器,一个充电宝,充电宝有无限电量,但是只有一个接口,也就是不能同时给两个电器充电,然后输出还有限,每秒钟输出p格电量(垃圾充电宝),然后告诉你每个电器每秒钟耗费几格电量a[i],以及每个电器电池的初始时剩余电量b[i],每个电器电池的容量是无限的,也就是充电宝不会把电器充爆。问你所有电器同时连续使用的最长时间,充电宝由一个电器换插到另一个电器不耗费时间。如...原创 2018-08-18 20:51:09 · 184 阅读 · 0 评论 -
Codeforces 887B 暴力
传送门:题目题意:给[1,3]行,每行6个数字,每行出一个数字,(同一行最多出一个数字,其他行可以不出。)组成一个数x,问这个数x最大能有多少,前提是这个数x之前的每一个数都能被组成。题解:我们先考虑这样一个问题,我们现在只知道有三行,每行6个数字,但不知道每个数字具体是多少,问:满足题目规则的情况下,x最大是多少? 如果每行有9个数字,那肯定是999我们考虑,假如,...原创 2018-08-13 22:45:22 · 152 阅读 · 0 评论 -
Codeforces 886A 暴力 双指针
这道题和LeetCode15有点像,这道题是双指针,LeetCode那道题是三指针传送门:本题题目LeetCode 15题意:给6个数,选3个数组成一堆,剩下3个数组成另一堆,问两堆的sum能不能相等。题解:有一个很暴力的解法: 就是第一个数肯定属于一堆,我们只需要找到剩下的两个数,直接两个for循环遍历,枚举所有情况,时间复杂度为O(n2)O(n...原创 2018-08-13 23:13:29 · 286 阅读 · 0 评论 -
Codeforces 922B 异或
传送门:题目题意:有三个数,a,b,c,满足一些条件。 第一:a,b,c可以组成一个三角形 第二:a,b,c均≤≤\leqn 第三:a^b^c=0 输入一个数n,求满足条件的a,b,c所有组合的种数。题解:第一个条件:两边之和大于第三边,两边之差小于第三边。 第二个条件:枚举,for循环暴力 第三个条件:a^b^c=0和c^c=0 →→\rightarrow c=a...原创 2018-08-14 00:46:57 · 256 阅读 · 0 评论 -
Codeforces 935B 暴力
传送门:题目题意:一个人只在平面第一象限运动,他只会往上走和往右走,每次直走一格距离,问穿过y=x这条线的次数,注意是穿过,如果只碰了一下,然后又回来则不算,题解:题目很简单,代码也很短,比赛的时候写复杂了,这里记录一下较为简单的解法: 比赛的时候想的是for循环模拟走,x和y数组记录足迹,如果碰到y=x,标记一下,然后继续走,如果由标记,判断本次的点和上上次的中点,是不是在y=...原创 2018-08-19 11:23:07 · 234 阅读 · 0 评论 -
51-Nod 1384 STL:next_permutation prev_permutation reverse
题目:传送门题意:给一个数字,按照字典序从小到大的顺序输出改数字的所有全排列。题解:纯考全排列,练习一下STL里面的next_permutation。顺带复习一下prev_permutation和reverse。AC代码:#include &lt;iostream&gt;#include &lt;cstring&gt;#include &lt;cstdio&gt...原创 2018-08-16 21:43:00 · 130 阅读 · 0 评论 -
Codeforces 101652O 暴力
题目:传送门题意:定义一个36位进制的概念,‘0’-‘9’ ‘A’-‘Z’,输入一个n,保证接下来输入的数字是n进制,接下来输入一个二维矩阵。满足一些条件: 如果二维矩阵中的每一行每一列都是全排列,则继续。否则输出“NO” 如果二维矩阵中的第一行和第一列是递增的,则输出“Reduced”,否则输出“Not Reduced”题解:题目比较容易懂,纯模拟。 有一个简单的方法判断全...原创 2018-08-16 22:06:16 · 138 阅读 · 0 评论 -
Codeforces 101652T DFS 离散化
题目:传送门题意:n个房间,m个门,k个人编号[1,k],门上有区间[l,r],只有人的编号在区间内才能通过门,门是单向门,也就是说只能从一个房间到另一个房间,而不能从另一个房间到本房间,告诉你起点s房间和终点t房间,问:假设现在所有的人都在s房间,他们都想去t房间,最后一共多少个人能够到达t房间。题解:题目很好理解,先建个图,然后DFS或者BFS。问题的关键是怎么搜索。 如果不...原创 2018-08-16 23:53:57 · 187 阅读 · 0 评论 -
Codeforces 101652X 暴力
传送门:题目题意:给一个数,代表一共有多少个星星n。然后让你想一个二维矩阵,每一个点代表一个星星,满足一些条件:矩阵至少两行,矩阵拥有的星星总数为n。 如果矩阵的总行数为偶数行,每两行为一段,矩阵由段组成。段中的两行可以为长短行,长行比短行长度多一。或者两行长度相等。如果矩阵的总行数为奇数行,矩阵和偶数行一样,也是由段组成,最后多出来的一行必为长行题解:题目比较...原创 2018-08-17 00:58:49 · 216 阅读 · 0 评论 -
Codeforces 101652Z 暴力
传送门:题目题意:给一个数字n,找到大于n的一个数字,这个数字不含数字‘0’,问这个数字最小是多少。题解:非常水的一道题,比赛的时候先拿的这道题签到,比赛的时候用的取模除法,博客上想用streamstring重新写一下。AC代码:#include <iostream>#include <cstring>#include <cstdi...原创 2018-08-17 01:47:58 · 219 阅读 · 0 评论 -
Codeforces 769B 暴力
传送门:题目题意:一开始,只要第一个学生知道消息,第一个学生想把消息传给所有人,只能点对点传输,而且每个人只能发送有限条消息,求方案,如果没法达成,输出-1题解:如果第一个学生可传达消息数不为0,且传达总数≥n−1≥n−1\geq n-1,那么就一定可以完成任务。 暴力的时候,我们可以先sort一遍,然后按照从大到小依次传递。AC代码:#include <i...原创 2018-08-28 14:31:30 · 255 阅读 · 0 评论 -
Codeforces 768B 暴力 DFS
传送门:题目题意:给一个根节点n,每次往下分3个结点,左中右分别是n/2,n%2,n/2n/2,n%2,n/2n/2,n\%2,n/2,分到1或0的时候停止下分,然后区间求和。题解:我们按照题目要求dfs一遍就好了,就是一棵树,遇到0或1的时候return。AC代码:#include &amp;lt;iostream&amp;gt;#include &amp;lt;algorithm&amp;g...原创 2018-08-28 14:37:01 · 213 阅读 · 0 评论 -
Codeforces 768A 暴力
123原创 2018-08-28 14:59:48 · 202 阅读 · 0 评论 -
Codeforces 799C 暴力 线段树 RMQ
传送门:题目题意:一个人,想要购买两件商品,有两种货币,每件商品能且之能用一种货币购买,每件商品都有一个权重,我们想让购买的商品权重和最大,要求输出最大的权重和,如果没办法购买两件商品,输出0题解:第一开始看到数据范围10510510^5,想到这道题得用线段树了。然后突然想到先按权重从大到小排,然后找到能够购买的权重最大的商品,找到后直接退出就行了(贪心),这样复杂度到不了n2n2...原创 2018-08-21 13:42:24 · 291 阅读 · 2 评论 -
Codeforces 801A 暴力 string
传送门:题目题意:给一个字符串,里面只有VK字母,计算所有出现VK的次数,你有且只有一次转换的机会,可以把V转成K,或者把K转成V,你可以不使用这次机会。题解:题目很水,先统计一次VK的个数,然后再统计一下VV或者KK的个数,如果有,结果+1就好,当时写了20多行,赛后看题解,发现题解Perl只用了一行,C++算头文件只用了5行,用了string.find()方法,很方便。AC...原创 2018-08-18 14:23:25 · 191 阅读 · 0 评论 -
Codeforces 799B 暴力 set
传送门:题目题意:有n件T恤,告诉你每件T恤的价格,每件T恤的价格都不相同,和T恤正反面的颜色,颜色有且只有3种。 然后有m个顾客,每个顾客都有自己的基于颜色偏好值,有且只有1种,他们会购买自己喜欢的颜色且价格最便宜的。 依次输出第i名顾客购买T恤的价格。如果没有自己喜欢的颜色,输出-1题解:第一开始我没看到颜色有且只有三种,直接上了一个结构体,记录颜色和价格,然后直接n2n2...原创 2018-08-18 11:11:46 · 311 阅读 · 0 评论 -
CodeForce 1011B
简单暴力#include<iostream>using namespace std;const int maxn=110;int a[maxn],b[maxn],cnt[maxn];int main(void) { int i,j,k,n,m,ans=0,maxm=0,total=0; cin>>n>>m; for(i=1;...原创 2018-07-27 11:44:52 · 298 阅读 · 0 评论 -
2018牛客多校赛6 A Singing Contest DFS + set
A Singing Contest时间限制:11 秒 内存限制: 256MJigglypuff is holding a singing contest. There are 2 n singers indexed from 1 to 2 n participating in thecontest.The rule of this contest is l...原创 2018-08-04 20:28:21 · 268 阅读 · 0 评论 -
托米的咒语 牛客练习赛23 D
题目:题目全排列,暴力第一种:对子序暴力,由题目可知,s<=3000,子序复杂度C(3000,9),根据组合数计算公式,复杂度大概是稍小于3000的阶乘第二种哪个:对字典序暴力,把字典序全排列,复杂度是9的阶乘,还可以接受,继续往下考虑,遍历每一个字符串复杂度位s.size(),最大也就是3000,那么总时间复杂度位O(3000*9!),交的第一遍过了80%后TLE. 不死心,又...原创 2018-07-28 12:18:31 · 284 阅读 · 0 评论 -
HDU 6040 nth_element快排
题意:有n个新人,每个人的分数为a[i]。然后有n场比赛,每个比赛都有个最低标准b[i]。比如说b[i]=0,那么就是找到a[i]分数中最小的,不要被题目中说的b[j]+1迷惑,文字游戏。一般思路:a[0]到a[n-1]储存a的分数,然后sort a数组。然后再扫一遍b数组。cout<<a[ b[i] ],依次输出a数组中第b[i]小的。但是会超时TLE不难发现,我们的sor...原创 2018-08-06 19:40:52 · 184 阅读 · 0 评论 -
Codeforces 814C 尺取法
传送门:题目题意:给一个长度为n的字符串,替换其中的m个字母,然后求替换后m个字母的最大长度。题解:q是2∗1052∗1052*10^5,n是1500,直接暴力的化会超时,这里我们采用尺取法,算是一种优化的暴力吧。尺取法的意思就是我们拿一个区间,每次只考虑这个区间内答案,然后区间逐步往右移动,每次答案都取最大值,这样我们一定能获得最优解。一说到最优解,那么dp也一定可以做,是的...原创 2018-08-14 14:47:41 · 244 阅读 · 0 评论 -
Codeforces 814B 暴力
传送门:题目题意:给两个序列,这两个序列的每一个数字都在[1,n]范围内,我们要找到一个序列,满足:每一个数字都在[1,n]范围内,并且这个序列与前两个序列分别有且只有一处不同。题解:暴力就好,我们要找的这个序列肯定是[1,n]全排列,那么输入的两个序列与全排列肯定之差一个数字,那么,输入的每一个序列肯定有一个数字是重复出现两次的,我们只需要定位到这两个数字,替换一下就好了AC...原创 2018-08-14 14:56:19 · 184 阅读 · 0 评论 -
Codeforces 814A 暴力
传送门:题目题意:给两个序列a和b,然后a中有k个0,b的长度正好是k,b中的任意数字可以填到a中为0的任意位置,b中的每一个数字能且只能使用一次,问能不能找到一种情况,使a变成非递增序列。题解:暴力就好,我们只需要让b序列以递减的顺序插入到a序列,然后看看a是不是递增就好。#include <iostream>#include <algorithm&g...原创 2018-08-14 15:17:21 · 157 阅读 · 0 评论 -
Codeforces 813A 暴力
传送门:题目题意:一个人做n题,每道题都要花费一些时间解决,给你每道题花费的时间。但是他只能在特定的时间段交题,交题不需要时间,给你每个时间段,问它最早完成考试的时间点。题解:暴力就好,我们统计出他做题的总用时,我们规定只有他在做完最后一道题才能交题,这样比较容易,只交题一次,然后判断最后一次能不能交成功就好了。AC代码:#include <iostream>...原创 2018-08-14 15:39:35 · 171 阅读 · 0 评论 -
UVALive 7608 模拟
模拟 水题#include <iostream>#include <cstring>#include <cstdio>#define INF 0x3f3f3f3fusing namespace std;int main(void) { char op[10]; bool flag; int n, T, x, y, st...原创 2018-08-06 23:28:46 · 186 阅读 · 0 评论 -
Codeforces 813B 暴力
传送门:题目题意:给两个数x,y,然后给一个区间[l,r],标记区间内xk1+yk2,k1或k2∈[0,1,2,3⋯⋯∞]xk1+yk2,k1或k2∈[0,1,2,3⋯⋯∞]x^{k_1}+y^{k_2} ,k_1或k_2\in[0,1,2,3\cdots\cdots\infty] 求未标记的最长长度。其中x,y≤1018x,y≤1018x,y \leq 10^{18}题解:...原创 2018-08-14 17:12:04 · 177 阅读 · 0 评论 -
Py&hyh想脱单 暴力
题目来源: 2018年长沙理工大学ACM第二次省赛选拔赛 2018年8月10日题意:众所周知,py和hyh有十分浓烈的脱单意愿,但是非常不幸,在一个风和日丽的下午,他们穿越到一个没有妹子的世界,他必须回答一个问题才能回到本来的世界,这个问题是给出一个n∗mn∗mn*m的矩阵,然后有q次操作,每一个操作,给出xixix_i,yiyiy_i,titit_i,表示在titit_i时刻...原创 2018-08-11 14:19:23 · 187 阅读 · 0 评论 -
LeetCode 15 3Sum 暴力 C++实现
传送门:题目题解:暴力做,先把序列sort一遍,然后,设三个指针(l,m,r)(左中右),l从[1:len-2)遍历,然后m从i+1处开始遍历,同时r从len-1处开始遍历。现在的时间复杂度O(log2n+n2log2n+n2log_2 n+n^2) 如果不设三指针,就三个for循环,扫一遍就好,这样的时间复杂度O(n3n3n^3)AC代码:class Solution ...原创 2018-08-12 11:53:51 · 276 阅读 · 0 评论 -
Codeforce 719C 模拟
#include <bits/stdc++.h>using namespace std;char s[200010];int main(void) { bool flag = false,judge_point_post=false,judge_post_point=false; int n, t, p, i; cin >> n >&g...原创 2018-08-07 10:15:43 · 253 阅读 · 0 评论 -
HDU 1349 逆序对 数论 暴力 线段树 树状数组 单点更新 区间求和
传送门:题目题意:给一个序列(n个数,[0,n-1]每个数无重复),求该序列的逆序数,逆序对-维基百科,然后序列可以做如下操作:序列的第一个值移到序列的结尾,剩下的每个值向前推进一位。 求操作n-1次后,原有的加生成的,总共n种字符串中,逆序对的最小值。暴力+数论:题目很好理解,先看一个暴力解法,我们用两个for循环求出初始串的逆序对Cnt。 然后我们把第一个数字移到最后面,不...原创 2018-08-21 19:59:38 · 233 阅读 · 0 评论