
思维
Mr.Gzj
这个作者很懒,什么都没留下…
展开
-
Educational Codeforces Round 75 (Rated for Div. 2)E2. Voting (Hard Version)(贪心)
题意:有n个人,你可以花费pi让第i个人投票,或者拉够mi个人为你投票,这个人就会为你投票。 现在你想让所有人都为你投票,需要花费的最小代价是多少? 思路:可以发现,当第i个人开始为你投票时,m值小于mi的肯定都投完票了。那么在m>mi的人里,至少有mi-[小于mi的人数]的人要付钱给他,然后倒着扫一遍。 #include<bits/stdc++.h> #define ll...原创 2019-10-26 00:32:46 · 290 阅读 · 0 评论 -
Educational Codeforces Round 63 (Rated for Div. 2) D. Beautiful Array
题意:给出一串数,可以给它连续区间乘一个值,问区间最大和 思路:分三种情况 f[3],f[0]表示不选或者选择a,f[1]表示选择连续的区间乘以x,f[2]表示选择乘完x后面的区间。 #include<bits/stdc++.h> using namespace std; long long n, x; long long f[3], ans; int main() { ...原创 2019-04-23 09:32:25 · 131 阅读 · 0 评论 -
Sequence in the Pocket
题意:给出一串序列,一个操作,把序列随便一个数移到最前面,问使这个序列有序要移动多少次。 思路:算是给思维题吧,比赛竟没有做出来,可能当时是发烧烧晕了,其实手动列几个就能发现规律。 #include <bits/stdc++.h> #define MAXN 100000 using namespace std; priority_queue <int> q; int ...原创 2019-04-28 10:55:19 · 269 阅读 · 0 评论 -
E. Two Arrays and Sum of Functions
题意:给定序列A,B。可以对B重排,使得 最小/ 思路:可以求出每个a[i]的计算的次数然后加在a[i]上,然后排序计算。a[i]的计算次数是i*(n-i+1)次。 #include<bits/stdc++.h> #define ll long long using namespace std; const int N = 2e5 + 10; const int mod =...原创 2019-05-15 15:07:36 · 239 阅读 · 0 评论 -
2019 计蒜之道 初赛 第一场
A商汤的AI伴游小精灵 题意:给一棵树,问删两个节点,最多可以多几棵树。 思路:数据只有5e3,暴力枚举,但注意当我们删掉了两个相邻节点则需要减去一。 #include<bits/stdc++.h> #define ll long long using namespace std; const int N = 5e3 + 10;; int n, ma, v[N], mp[N]...原创 2019-05-26 15:13:01 · 269 阅读 · 0 评论 -
2019牛客暑期多校训练营(第四场)K number(思维)
题意:求可以被300整数的子串数量。 思路:有个On的做法,令mo[i]为前i位和模3的值,那么对于一个区间[l,r],且s[r+1]==s[r+2]==0,合法条件是s[r]=s[i](l<i<r)。 模相等间隔必定是3的倍数。 #include<bits/stdc++.h> using namespace std; #define ll long long ll...原创 2019-07-28 23:02:04 · 198 阅读 · 0 评论 -
2019牛客暑期多校训练营(第六场)D-Move(暴力)
这道题感觉很坑,上去打二分的全wa了,造成提交150多通过0的局面。 主要是箱子容积和答案没有单调性。比如这组数据: 15 5 39 39 39 39 39 60 60 60 60 60 100 100 100 100 100 可以发现199是合法答案,而200不是。主要是题里限制规则的影响,所以只能暴力判,从下界(sum/k)开始暴力判,跑的相当快。 #include <bit...原创 2019-08-04 16:18:44 · 154 阅读 · 0 评论 -
2019牛客暑期多校训练营(第八场)C-CDMA(思维+构造)
题意:给出m,要求用1和-1构造一个m* m的矩阵,满足任意两行的内积为0,其中m的取值为2^k(k为1,2…10)。 思路:按这个构造方法一直构造下去。 #include<bits/stdc++.h> using namespace std; int arr[1050][1050], n; int main() { arr[1][1] = 1; arr[1][2...原创 2019-08-13 14:43:05 · 133 阅读 · 0 评论 -
[CCPC2019网络赛] 1008-Fishing Master(思维)
题意:现在需要捕n条鱼并且将它们煮熟来吃。每条鱼要煮相应的时间才能吃(可以多煮一会),锅里每次只能煮一条鱼,捕一条鱼的时间是相同的,但是在捕鱼的时间内不能做其他事(比如换一条鱼煮),求把所有的鱼都煮熟最少需要多少时间。 #include<bits/stdc++.h> #define ll long long using namespace std; int t, n, k, x; ...原创 2019-08-24 23:20:12 · 318 阅读 · 0 评论 -
2019 Multi-University Training Contest 10 1005:Welcome Party
题意: 有n个学生,每个学生都有歌唱和相声能力。选择一个集合A,一个集合B。使得集合A里面的最大值与集合B的最大值的差值最小。 思路: 按歌唱能力从大到小枚举,比目前学生歌唱能力强的去表演相声,用multiset维护下,再找到没枚举学生的和目前学生歌唱值最相近的相声值,不要比已经枚举学生的相声能力强。取min #include <bits/stdc++.h> #define ...原创 2019-08-22 14:55:08 · 176 阅读 · 0 评论 -
H. Mo的面积
Mo的老师给了他两个矩形,让他求两个矩形的面积并。Mo很忙没时间解决这种小case,请你帮他解决。 输入 输入两行,每行四个整数x,y,x1,y1。(x,y)是矩形左下角,(x1,y1)是矩形的右上角.(0≤x,y,x1,y1≤1000)。 输出 输出一个整数表示二个矩形的面积并。 #include<bits/stdc++.h> using namespace s...原创 2019-03-31 21:02:24 · 237 阅读 · 0 评论 -
PTA 链表模拟题
每次做这种链表的模拟题时,总是因为各种bug拿不到满分,所以集中做一波! L2-002链表去重(25分) #include <iostream> #include <stdlib.h> #include <algorithm> #include <map> using namespace std; const int N = 1e6 + ...原创 2019-03-23 19:55:59 · 364 阅读 · 0 评论 -
一根高筋拉面,中间切一刀,可以得到2根面条。如果先对折1次,中间切一刀,可以得到3根面条。如果连续对折2次,中间切一刀,可以得到5根面条。那么,连续对折n次,中间切一刀,会得到多少面条呢?
一根高筋拉面,中间切一刀,可以得到2根面条。如果先对折1次,中间切一刀,可以得到3根面条。如果连续对折2次,中间切一刀,可以得到5根面条。那么,连续对折n次,中间切一刀,会得到多少面条呢? #include<bits/stdc++.h> #define INF 0x3f3f3f3f #define ll long long #define mem(ar,num) memset(ar...原创 2019-02-13 23:45:17 · 2211 阅读 · 0 评论 -
51nod1065 最小正子段和
1065 最小正子段和 N个整数组成的序列a[1],a[2],a[3],…,a[n],从中选出一个子序列(a[i],a[i+1],…a[j]),使这个子序列的和>0,并且这个和是所有和>0的子序列中最小的。 例如:4,-1,5,-2,-1,2,6,-2。-1,5,-2,-1,序列和为1,是最小的。 思路:这道题用树状数组t3个点,不知道怎么优化索性看题解,看15ms答案都是按前缀...原创 2019-02-19 23:20:25 · 417 阅读 · 0 评论 -
EOJ Monthly 2019.2 (based on February Selection) F
思路:没思路,看了看题解才会,经计算后答案必定是整数而且是m(a1^2+a2^2+......am^2)-(a1+a2+......am)^2,暴力,超时,之后用前缀和ac #include<bits/stdc++.h> using namespace std; long long arr[1000010], sum1[1000010], sum2[1000010]; long...原创 2019-02-25 20:38:45 · 232 阅读 · 0 评论 -
小米oj和为零的三元组
想用hash来判重,但以前从没有过它,想了半天,想不出来,最后直接暴力判重,希望有大佬告诉我怎么判 #include<bits/stdc++.h> #define INF 0x3f3f3f3f #define ll long long #define mem(ar,num) memset(ar,num,sizeof(ar)) #define me(ar) memset(ar,0,s...原创 2019-03-03 23:19:40 · 217 阅读 · 0 评论 -
丢失的数字(比较骚的做法)
小J无意间翻到了自己上小学时候的数学作业,上面有着他在学习加法时候的回忆。 799 + 239 ------- 1038 然而,作业由于长时间存放在地下室,加法算式中的某一个数字已经斑驳泛黄,有的是“加数”中缺失了,有的是“和”中缺失了,令小J无法识别。现在小J想请你帮忙,将缺失的数字识别出来。 输入 三行字符串,表示加法运算中的两个“加数”以及...原创 2019-03-07 16:08:39 · 416 阅读 · 0 评论 -
尺取法题目
poj3061 #include<bits/stdc++.h> #define INF 0x3f3f3f3f #define ll long long #define mem(ar,num) memset(ar,num,sizeof(ar)) #define me(ar) memset(ar,0,sizeof(ar)) #define lowbit(x) (x&(-x))...原创 2019-03-10 22:08:58 · 186 阅读 · 0 评论 -
poj2566Bound Found(前缀和+尺取法)
http://poj.org/problem?id=2566 开始看到这道题时不会做,看了题解才会的,由于原序列散乱,不知道怎么加才能最大,而尺取法要在序列有序才能进行,所以可以用前缀和来使序列单调。定义pair<ilong,long> ss前面记录千缀合,后面记录编号,然后根据千缀合进行大小排序,sort默认按ss.first从大到小排序的,所以有了单调性 所以,ss[j].fi...原创 2019-03-12 15:43:05 · 320 阅读 · 4 评论 -
GYM100488 K. Two Pirates
https://codeforces.com/gym/100488/problem/K 思路:看完某大佬的博客才会,,还是菜。。multiset可以存重复的元素并排序,所以强盗轮流拿,当第二个强盗要拿的大于第一个拿的最小值时,我们就可以认为第一个该拿第二个拿的的,所以反过来。 #include<iostream> #include<algorithm> #includ...原创 2019-03-12 20:11:07 · 198 阅读 · 0 评论 -
Educational Codeforces Round 62 (Rated for Div. 2)C. Playlist
一个贪心题,不知道思路怎么跑到dp上去了,怼了一小时没怼出来,还是太菜!!! 思路:根据b[i]从大到小排序,然后用一个优先队列存入t[i],小的在前,若队列里元素个数大于k,则pop。那么一直算到最后,找中间最大值。 #include<bits/stdc++.h> #define fi first #define se second #define INF 0x3f3f3f3f...原创 2019-03-23 10:34:10 · 217 阅读 · 0 评论 -
ACWing - 94. 递归实现排列型枚举
问题 l: sgl的序列问题 时间限制: 1 Sec 内存限制: 128 MB 提交: 19 解决: 6 [提交] [状态] [讨论版] [命题人:admin] 题目描述 把 1~n 这 n(n<10) 个整数排成一行后随机打乱顺序,输出所有可能得到的序列。 输入 一个整数n。 输出 按照从小到大的顺序输出所有方案,每行1个。 首先,同一行相邻两个数用一个空格隔开。其次,对...原创 2019-02-14 23:00:08 · 235 阅读 · 0 评论