贪心
JA_yichao
这个作者很懒,什么都没留下…
展开
-
YbtOJ 冲刺 NOIP2021 模拟赛 B 组 Day9 B. 字典之序【贪心】
题目思路本题用贪心的思路AC。考虑从后往前找,那么对于一个字符我们知道只有当它后面包含了未被加入答案的所有字符时它才可选而第一个可选字符到第一个字符就组成了可行区间在这个可行区间里找到字典序最小的字符加入答案,然后删除当前字符就好了。代码#include<iostream>#include<cstdio>using namespace std;int c[27],wz,cnt,a[27],flag;char jl;string s;int main()原创 2021-11-13 17:05:06 · 479 阅读 · 0 评论 -
SSL集训 2021.08.19 提高B组 P7412 [USACO21FEB] Year of the Cow S【贪心】
SSL集训原创 2021-08-19 15:50:01 · 184 阅读 · 0 评论 -
SSL集训 2021.07.19 提高B组 T3 「JOI 2020 Final」只不过是长的领带【贪心】
SSL集训原创 2021-07-19 22:30:33 · 120 阅读 · 0 评论 -
SSL集训 2021.07.17 提高B组 T1 菜园【枚举】【贪心】
SSL集训原创 2021-07-17 16:12:25 · 140 阅读 · 0 评论 -
YbtOJ 贪心算法课堂过关 例3 畜栏预定【贪心】
思路这道题容易想到用贪心做。首先肯定要排序,之后会发现当一个奶牛的左区间边界大于另一个奶牛的右区间边界就可以共用一个畜栏。这样暴力做是 O(n2)O(n^2)O(n2),发现可以用小根堆来维护右区间边界。则时间复杂度可以优化成 O(nlogn)O(n\log n)O(nlogn)。CodeCodeCode#include<algorithm>#include<iostream>#include<cstdio>#include<cmath&g..原创 2020-12-26 09:39:13 · 200 阅读 · 0 评论 -
YbtOJ 贪心算法课堂过关 例4 国王游戏【贪心】
思路这道题其实主要的难点是如何排序。排序之后贪心就非常简单了。考虑贪心邻项交换设 si=∏j=0iajs_i=\prod\limits_{j=0}^{i}a_jsi=j=0∏iaj。首先考虑交换前,第 iii 个上的值是 si−1bi\frac {s_{i-1}}{b_i}bisi−1,第 i+1i+1i+1个 是 si−1×aibi+1\frac {s_{i-1}\times a_i}{b_{i+1}}bi+1si−1×aians1=max(si−1bi,si−1×a..原创 2020-12-26 12:18:55 · 280 阅读 · 0 评论 -
YbtOJ 贪心算法课堂过关 例1 奶牛晒衣服【贪心】
思路这道题是一个简单的贪心。直接把目前最大值上烘干机即可。不过这样的时间复杂度时 O(n2)O(n^2)O(n2),会超时。所以考虑????堆优化。CodeCodeCode#include<iostream>#include<cstdio>#include<cmath>#include<queue>using namespace std;priority_queue<int>q;int n,a,b,j;int main()原创 2020-12-25 21:25:30 · 252 阅读 · 0 评论 -
2020.5.2普及C组 Jam的计数法(count)【纪中】【暴力】【贪心(可能是吧)】
这道题我们可以用一种类似于贪心的暴力方法去做。我们从最后一位往前枚举字符,看看当前字符满不满足条件,满足就向前推,得到一个可行的字符串就输出breakbreakbreak注释很详细AC CodeAC~CodeAC Code#include<algorithm>#include<iostream>#include<cstring>...原创 2020-05-02 14:19:20 · 196 阅读 · 0 评论 -
2020.3.4普及C组 fairphoto【纪中】【前缀和】【贪心】
某巨佬讲课时截下来的图#include<algorithm>#include<iostream>#include<cstdio>#include<cmath>using namespace std;int ans,c[1000010],n,js;char x;struct node{ int a,b;}e[1000005];...原创 2020-03-06 16:01:23 · 186 阅读 · 0 评论 -
2020.2.25普及C组 迷宫大门(door)【纪中】【贪心】
这道题贪心可以解出,请看注解。#include<iostream>#include<cstdio>#include<cmath>using namespace std;int n,a,b,z,ans,zx,zd,zx1,zd1;int c[500010];int main(){ freopen("door.in","r",stdin);...原创 2020-02-27 19:45:21 · 152 阅读 · 0 评论 -
2020.2.5普及C组 火柴【纪中】【贪心】
贪心选最优就可以了#include<iostream>#include<cstdio>using namespace std;int a[10]={6,2,5,5,4,5,6,3,7,6};long long m,n,zs,x,y,t;string s;int main(){ freopen("match.in","r",stdin); freopen(...原创 2020-02-24 19:18:44 · 138 阅读 · 0 评论