
贪心
jqsh_
这个作者很懒,什么都没留下…
展开
-
1469:似乎在梦中见过的样子
一本通传送门题干解析没事闲的,找到了本题背景 神秘幽蓝的传送门,本题背景 太好看啦 没啥用,总结出来就是在一个字符串中找前后长>=k的字符串,中间还要有空。具体思路寻找前后缀是极其明显的KMP,我们《只需》在正常KMP的基础上,将每次需寻找前后缀的字符串,并且枚举起始与终点出来,再用KMP找。(配合代码食用效果更佳)代码// jqsh 2021.4.6 22:43#include<bits/stdc++.h>using namespace std;int n.原创 2021-04-06 22:44:09 · 924 阅读 · 0 评论 -
P2512 [HAOI2008]糖果传递 & 1432:糖果传递
一本通传送门洛谷传送门洛谷大神们的题解本蒟蒻就不献丑了代码#include<bits/stdc++.h>using namespace std;long long n,m,a[1000001],s[1000001],mid,sum,ans;inline long long read(){ long long k=0,k1=1; char ch=getchar(); while(!isdigit(ch)){ if(ch=='-') k1=-1; ch=getcha.原创 2021-04-06 20:16:49 · 225 阅读 · 0 评论 -
1431:钓鱼
毫无新意的一本通传送门题干解析这题… 与这题 传送门 有区别否?懒 题干明白,就不说啥了。具体思路本题可采取贪心,动规,贪心+堆优化的方法,这里只讲贪心原创 2021-04-06 20:05:35 · 260 阅读 · 0 评论 -
1430:家庭作业
一本通传送门就是 这题代码#include<bits/stdc++.h>using namespace std;long long n,m,hash[10000001],s;struct Node{ long long t,w;}a[10000001];bool cmp(Node o,Node p){ if(o.w<=p.w) return false; return true;}inline int read(){ int k=0; char ch=ge.原创 2021-04-05 22:24:39 · 272 阅读 · 0 评论 -
1429:线段
一本通传送门-本题与ta极像。代码#include<bits/stdc++.h>using namespace std;int n,m,ans;struct Node{ int a,b;}s[10000001];bool cmp(Node o,Node p){ if(o.b>=p.b) return false; return true;}int main(){ scanf("%d",&n); for(int i=1;i<=n;i++){ .原创 2021-04-05 22:10:12 · 248 阅读 · 0 评论 -
P1181 数列分段Section I & 1428:数列分段
洛谷传送门一本通传送门题干解析我好懒 本题题干过于明显,又非阅读理解,请各位dalao自行体会。具体思路我******,好水,这是蓝书水准?白书入门题好不好。代码#include<bits/stdc++.h>using namespace std;int ans,sum,n,m,a[100001];int main(){ scanf("%d %d",&n,&m); for(int i=1;i<=n;i++){ scanf("%d",.原创 2021-04-05 21:58:35 · 163 阅读 · 0 评论 -
1427:数列极差
一本通题干题干解析小学生水准 敲了半天 ,正常理解即可具体思路小学学过,两个数相差越大,它们的乘积越小,反之亦然。按这个思路,只需每次找出最大两个数,最小两个数,分开乘就行。(应分别处理,详见代码)代码#include<bits/stdc++.h>using namespace std;int n,t,a[1000001],sum1,sum2,b[1000001];int main(){ scanf("%d",&n); for(int i=1;i<.原创 2021-04-05 21:47:44 · 418 阅读 · 0 评论 -
P1230 智力大冲浪 & 1426:【例题5】智力大冲浪
洛谷传送门一本通传送门注:下文中任务均为小游戏。题干解析看题,由 看标签 《人类智慧》可得(在洛谷愚人节月赛上学废了),可知这题该用贪心,而题面又与活动安排极为类似,所以此题为正常贪心。具体思路以 wi 为关键字,进行排序,然后按由大到小的顺序遍历,在每次所能完成的时间段里,找最后的时间点完成该任务。思路证明本题中任务可分三种情况:1 完成该任务不挤占其他任务这没啥好说的…2完成该任务挤占了其他任务因为这题完成任务的价值是倒序(由大到小的),所以被挤占的任务价值.原创 2021-04-05 21:39:37 · 1179 阅读 · 4 评论 -
1425:【例题4】加工生产调度
一本通传送门洛谷传送门题干解析题干… 没啥好说的解题思路首先读入,然后排序,计算总时间,输出什么?怎么排序?玄学就好了 就是… 点这里补一点别人没有的:一本通上的不能快排,要用有稳定性的排序方法洛谷解法#include<bits/stdc++.h>using namespace std;int n,m,sum1,sum2,x[10001],y[10001],t;struct Node{ int a,b,c,k,s;}s[10001];bool cmp(.原创 2021-02-19 20:07:31 · 317 阅读 · 0 评论 -
1424:【例题3】喷水装置
老样子,题干题干分析 & 解题思路看题,先将题目转化为一维问题,即: 求圆心(即喷头位置)与两条边交点的位置(求哪条都行)想不明白的上图:看图可知,蓝色区域与红色区域无用,所以我们只需求灰色矩形上下,任意一条边的两端点即可。由勾股可得,第三边的距离即为:sqrt(r∗r−W∗W/4.0) sqrt(r*r-W*W/4.0)sqrt(r∗r−W∗W/4.0)所以,线段前后两端点为:前:O−sqrt(r∗r−W∗W/4.0)前:O-sqrt(r*r-W*W/4.0)前:O.原创 2020-09-10 22:24:01 · 722 阅读 · 0 评论 -
1423:【例题2】种树
题干就是 它!!!题目分析:此题非常像活动安排,同样是排序,然后尽可能地把树种在最后面。这就完了?!代码如下: 真是废话啊…#include<bits/stdc++.h>using namespace std;int n,m,f[300001],ans;struct Node{ int x,y,z;}a[50001];inline bool cmp(Node o,Node p){ if(o.y>p.y) return true; return false;.原创 2020-08-24 21:59:49 · 613 阅读 · 0 评论 -
1324:【例6.6】整数区间
题干:传送门思路 又一个传送门代码#include<bits/stdc++.h>using namespace std;int n,m=0,s=0,l=0;struct hd{ int x,y;}h[100001];bool cm(hd o,hd p){ if(o.y>p.y) return false; return true;}int main(){ cin>>n; for(int i=1;i<=n;i++) cin>>h.原创 2020-08-24 20:45:43 · 591 阅读 · 0 评论 -
1323:【例6.5】活动选择
题干具体思路: 传送门代码#include<bits/stdc++.h>using namespace std;int n,m=0,s=0,l=0;struct hd{ int x,y;}h[1001];bool cmp(hd o,hd p){ if(o.y>p.y) return false; else if(o.y==p.y&&o.x>p.x) return false; return true;}int main(){ cin&.原创 2020-08-24 20:43:44 · 410 阅读 · 0 评论 -
1422:【例题1】活动安排
题干:散发着幽蓝神秘光芒的奇特传送门这是小蓝书的例题,具体思路如下:对于结束时间从小到大的一列活动来说,我们当前选择活动自然需要能为后面未能加入的活动留下尽量多的时间,又因为结束时间是从小到大排序,所以当前判断如果能行就立即加入。具体代码如下:#include<bits/stdc++.h>using namespace std;int n,ans;struct Node{ int s,f;}a[1001];inline bool cmp(Node o,Node p){.原创 2020-08-24 20:40:35 · 935 阅读 · 0 评论