
基础算法——贪心
文章平均质量分 88
2468060694
Aloof__
笔记是记忆的缓冲
展开
-
牛客练习赛69 C-旅行 (贪心最大生成树)
C-旅行昨晚做的时候竟然能把看成u和v之间的最长路径的长度;思路:最大生成树;其实不证明的话猜两组数据就能看出来;证明的话放官方证明吧:作者:scimoon可以发现,对答案有贡献的边肯定是最大生成树上的边,那么可以将这些边先拉出来,每条边至少会被贡献一次对于当前的一个联通块,找到最小的一条边,那么这个联通块肯定被分成了两个联通块考虑怎么样才能使答案最优,显然先将一个联通块内选完以后在经过当前边到另一个联通块最优(因为两边的边比当前边要大),可以看出这条边只对答案贡...原创 2020-09-12 12:43:45 · 290 阅读 · 0 评论 -
Codeforces Round #669 (Div. 2) B - Big Vova -暴力贪心
B - Big Vova题意:给你一个数组A,B数组是A的排列数组;C数组是B的前缀GCD数组;求A怎样排列得到的B数组,才能使C数组在字典序上最大;思路:数据范围小,首先肯定是A中最大的数,然后接下来每次从剩下的数中找到和前面的GCD最大的数即可;#include<bits/stdc++.h>#define ll long longusing namespace std;const int N = 1e3+2;int a[N],b[N],st[N];bo..原创 2020-09-09 09:25:06 · 396 阅读 · 0 评论 -
Educational Codeforces Round 94 (Rated for Div. 2) A~D
A - String Similarity思维,只需要对每个字串依次提取一个字符组成目标字符即可;#include <bits/stdc++.h> using namespace std;typedef long long ll;int main(){ int t;cin >>t; while(t--) { int n; cin >>n; n=n*2-1; string s; cin >>s; for(int i原创 2020-09-02 23:11:09 · 358 阅读 · 0 评论 -
Codeforces Round #659 (Div. 2) A~C
补了这一场,感觉真心难,菜鸡呻吟~A - Common Prefixes思路就是把初始字符串初始化为:‘aaaaaaaaaaaaaaaaaaaaaaaaa’。对于第i个数代表着字符串 和字符串的公共前缀长度为x;所以只需要在把的字符的第x+1个字符改变即可;后面以此类推;#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N=2e5+7;int a[N];int m...原创 2020-08-26 11:43:40 · 291 阅读 · 0 评论 -
Codeforces Round #665 (Div. 2) A~D
又是掉分的一晚上~~~~题解也忘了补了A - Distance and Axis画个坐标轴理解下,B如果在OA中间的话,那么|OB-OA|的范围一定小于n,并且奇偶性和m相同;如果k>n的话,那么B一定和A重合,并且在k上#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N=2e5+7;int main(){ int t; cin >>t; w..原创 2020-08-23 17:55:04 · 166 阅读 · 0 评论 -
Codeforces Global Round 10 A~D
A - Omkar and Password给一个序列,每次操作可以合并两个相邻但不相等的数,问要想把序列变成无法继续操作的序列,至少需要操作几次;思路就是 序列中的每一个凹点都要变成和他距离最近的凸点一样高,并且凹点要在凸点的右侧,相当于存在 a[i] <a[i-1] 的话,加上两者的差即可;#include <bits/stdc++.h>using namespace std;const int N=2e5+7;int a[N];int main(){ i..原创 2020-08-20 21:19:24 · 334 阅读 · 0 评论 -
AcWing 100. 增减序列 (差分)
整理的算法模板:ACM算法模板总结(分类详细版)给定一个长度为nn的数列a1,a2,…,ana1,a2,…,an,每次可以选择一个区间 [l,r],使下标在这个区间内的数都加一或者都减一。求至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最少次数的前提下,最终得到的数列可能有多少种。输入格式第一行输入正整数nn。接下来nn行,每行输入一个整数,第i+1行的整数代...原创 2020-04-07 21:37:55 · 394 阅读 · 0 评论 -
牛客练习赛59 D—取石子游戏
链接:https://ac.nowcoder.com/acm/contest/4743/D来源:牛客网题目描述小灰灰和小乔在玩取石子游戏,一堆石子有n{n}n个石子,小灰灰和小乔轮流操作,小灰灰先手,每次操作的人可以进行以下操作: 假设当前石子数量为k{k}k,如果k>=2{k>=2}k>=2,那么将石子分为f(k){f(k)}f(k)和k−f(k...原创 2020-03-13 23:22:58 · 875 阅读 · 0 评论 -
1285D Dr. Evil Underscores
链接:http://codeforces.com/contest/1285/problem/DD. Dr. Evil Underscorestime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputToday, as a friendship ...原创 2020-02-20 15:35:00 · 732 阅读 · 0 评论 -
Codeforces Round #620 (Div. 2)(D. Shortest and Longest LIS)
DescriptionGildong recently learned how to find the longest increasing subsequence (LIS) in O(n log n)O(n\ log\ n)O(n log n) time for a sequence of length nnn. He wants to test himself if he can impl...原创 2020-02-18 00:29:24 · 1122 阅读 · 0 评论 -
Codeforces Round #620 (Div. 2)—B,C;
B :Longest Palindrome如果要构造这样一个字符串,如果一个字串的反转在给的字符串集合中出现过,则说明这个字符串可以参与构造;(前提自己不是回文串);如果自己是回文串,那么可以把它构造到中间;#include <bits/stdc++.h>using namespace std;map<string ,int> mp;int main(){ i...原创 2020-02-15 23:57:46 · 2032 阅读 · 6 评论 -
Codeforces Round #619 (Div. 2)
A - Three Stringsa串和b串的第i个字符一定其中有一个一定和c的第i个相同;#include <bits/stdc++.h>using namespace std;int main(){ int t; cin >>t; while(t--) { string a,b,c; cin >>a>>b>>...原创 2020-02-14 01:03:04 · 1607 阅读 · 0 评论 -
Educational Codeforces Round 82 (Rated for Div. 2)
姗姗来迟 起晚了;A. Erasing Zeroes记录第一个1出现的位置,以及最后一个1出现的位置,计算前缀和即可;wa了三发,原因是a数组我开到main()里面,但是我清零了丫,可是还是wa,原因不晓得;(并且是wa1,也就是样例都没过去,我懵了)#include <bits/stdc++.h> using namespace std;typedef long lon...原创 2020-02-13 11:14:35 · 970 阅读 · 0 评论 -
2020牛客寒假算法基础集训营2
题目链接:2020牛客寒假算法基础集训营2官方标程题解:标程我先说一下我的感受 虽然我菜 但是还是想吐槽G题的概率取模,真恶心;D:数三角我的做法是用向量做,暴力枚举任意的三个点,然后算出以每个点为顶点的角的两条边的向量乘积,看是否小于0,这里需要注意判断两个向量是否共线,也就是判断三个点是否共线:#include <bits/stdc++.h>using name...原创 2020-02-06 23:35:03 · 1751 阅读 · 2 评论 -
Codeforces Round #617 (Div. 3)
c题看了半天也没思路,睁不开眼了,明天补c吧;(都是借口)A - Array with Odd Sum题意就是一个数组,你可以把数组中任意一个数变成数组中的另外一个数,让你进行这样的操作,求最后能否使这个数组的和为奇数;思路:只要这个数组中存在一个奇数就行了,特判如果数组中全是奇数的情况下,数组的长度是否是偶数;#include <bits/stdc++.h>using n...原创 2020-02-05 00:32:59 · 181 阅读 · 0 评论 -
2020 CCPC Wannafly Winter Camp Day7 K—修炼—模拟规律
链接:https://ac.nowcoder.com/acm/contest/4138/H来源:牛客网时间限制:C/C++ 3秒,其他语言6秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述有 {1}1 到 {n}n 这些数字各一个。你用这些数字进行若干轮游戏。对于每一轮,如果剩下的数字个数超过 {1}1 个,那么就等概率...原创 2020-02-02 18:36:12 · 2741 阅读 · 0 评论 -
2020 CCPC Wannafly Winter Camp Day6 M—自闭——模拟
链接:https://ac.nowcoder.com/acm/contest/4137/M来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述对于一场比赛,一共有 {n}n 个参赛选手和 {m}m 个题,为了方便我们假设一个提交记录的结果只有 WA 和 AC 两种,我们用以下...原创 2020-02-02 13:30:42 · 1145 阅读 · 1 评论 -
2020 CCPC Wannafly Winter Camp Day6—G—单调栈——贪心
链接:https://ac.nowcoder.com/acm/contest/4137/G来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述对于一个 {1…n}1…n 的排列 {p[1…n]}p[1…n],我们这样定义它的单调栈 {f[1…n]}f[1…n]:对于 {i}i...原创 2020-02-02 11:50:35 · 376 阅读 · 0 评论 -
2020 CCPC Wannafly Winter Camp Day6——C—酒馆战棋——模拟贪心
链接:https://ac.nowcoder.com/acm/contest/4137/C来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述酒馆战棋是一个很有趣的游戏,这个游戏一共有两名玩家,每个玩家各自控制一定数量的随从,随从从左往右排列。随从有两个基础属性:攻击力的血量...原创 2020-02-02 11:13:32 · 1798 阅读 · 0 评论 -
Nick and Array CodeForces - 1180B
Nick had received an awesome array of integers a=[a1,a2,…,an] as a gift for his 5 birthday from his mother. He was already going to explore its various properties but after unpacking he was disappoint...原创 2019-12-01 11:05:24 · 256 阅读 · 0 评论 -
AtCoder Beginner Contest 139
Engines AtCoder - 4900题意:很简单的题意,注意是坐标相加,不是从一个坐标直接跳到另一个坐标;思路:首先把这些点都看成和原点相连的向量,然后理解平行四边形定则;当两个向量的夹角(极角)越小时,两个向量相加所得的向量的绝对值最大;所以把这些点的极角按从小到大排列;然后从最小的两两枚举,求出最大值;#include <bits/stdc++.h> using...原创 2019-11-21 20:32:21 · 328 阅读 · 0 评论 -
Summer Vacation 贪心
Problem StatementThere are N one-off jobs available. If you take the i-th job and complete it, you will earn the reward of B_i after A_i days from the day you do it.You can take and complete at most...原创 2019-09-28 16:33:33 · 225 阅读 · 0 评论 -
优先队列 priority_queue 超详解
转载 优先队列 priority_queue 详解 ...转载 2019-09-24 16:53:23 · 299 阅读 · 0 评论 -
Crossing River(poj 1700)
题目来源:Crossing RiverA group of N people wishes to go across a river with only one boat, which can at most carry two persons. Therefore some sort of shuttle arrangement must be arranged in order to row...原创 2019-09-21 16:14:45 · 232 阅读 · 0 评论 -
湫湫系列故事——消灭兔子 HDU - 4544 (贪心)
湫湫减肥 越减越肥! 最近,减肥失败的湫湫为发泄心中郁闷,在玩一个消灭免子的游戏。 游戏规则很简单,用箭杀死免子即可。 箭是一种消耗品,已知有M种不同类型的箭可以选择,并且每种箭都会对兔子造成伤害,对应的伤害值分别为Di(1 <= i <= M),每种箭需要一定的QQ币购买。 假设每种箭只能使用一次,每只免子也只能被射一次,请计算要消灭地图上的所有兔子最少需要...原创 2019-08-29 14:30:00 · 235 阅读 · 0 评论 -
The Frog's Games HDU - 4004(二分加贪心)
The annual Games in frogs’ kingdom started again. The most famous game is the Ironfrog Triathlon. One test in the Ironfrog Triathlon is jumping. This project requires the frog athletes to jump over th...原创 2019-08-28 19:06:35 · 254 阅读 · 0 评论 -
Best Cow Line POJ - 3617(贪心或者二分)
FJ is about to take his N (1 ≤ N ≤ 2,000) cows to the annual"Farmer of the Year" competition. In this contest every farmer arranges his cows in a line and herds them past the judges.The contest organ...原创 2019-08-28 17:24:10 · 197 阅读 · 0 评论