![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
贪心
andyc_03
这个作者很懒,什么都没留下…
展开
-
【2020模拟赛day7】B. 偷学专家
这道题有点类似括号匹配的思想,先把能取到10分的全部取完,然后剩下的就是一个01交错的数列,那么就直接计算贡献就好了 代码 #include<bits/stdc++.h> using namespace std; const int maxn=1e6+5; char a[maxn],b[maxn]; int main() { freopen("study.in","r",stdin); freopen("study.out","w",stdout); sc...原创 2020-11-23 00:20:16 · 68 阅读 · 0 评论 -
计蒜客信息学赛前 CSP-S2 模拟赛 1 B. 宇宙蓝色闪光
样例输入1 3 1 2 3 1 3 2 样例输出1 1 样例输入2 5 1 3 1 2 2 3 2 4 3 5 样例输出2 2 官方题解: 实在不是很清晰啊 【分析】 首先,把A作为根节点遍历,算一下每个点的子树size,然后考虑要使得A被炸到的次数最大,也就是要经过A的次数尽可能多。 对于A的子树son中的每个节点发生爆炸,都有size[son]种情况不会经过A,因此为了经过A的次数最多,我们要选择子树size最小的作为储存室,然后这棵子树的每个点...原创 2020-11-01 19:15:29 · 255 阅读 · 0 评论 -
2020复习——贪心
题目 1.P1638 逛画展 #include<bits/stdc++.h> using namespace std; const int maxn=1e6+5; int n,m,a[maxn],b[2005],ansl,ansr; int main() { scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) scanf("%d",&a[i]); int l=1,r=1; b[a[1]]++; int k=1,an..原创 2020-10-28 22:51:23 · 91 阅读 · 0 评论 -
【贪心】ybtoj1671扑克牌
1671:扑克牌 时间限制: 1000 ms 内存限制: 262144 KB 【题目描述】 一副扑克牌有n张牌。一般你买的一副新扑克牌里除了这n张牌外还会有一些张特殊的牌,如果你不小心弄丢了nn张牌中的某一张,就可以用特殊牌来代替,但是如果你弄丢两张的话就没有办法了,因为特殊牌上的图案是一样的。 现在你得到了很多扑克牌,准确来说,n种牌你各有a1,a2,…,an张,同时你还有b张特殊牌,现在你需要从这些牌中整理出若干副牌供大家使用。整理出的一副牌可以由nn种普通牌各一张组成,也可...原创 2020-10-19 18:26:47 · 707 阅读 · 0 评论 -
【贪心】P1792 [国家集训队]种树 & P1484 种树
将每一个点放进一个优先级队列中,每次弹出一个元素后,可以将它两侧的元素加和减去这个元素本身,再将这个元素放进优先级队列中,我们就能实现了对一次选择的反悔,这样贪心的正确性就有了保证 P1792代码 #include<bits/stdc++.h> using namespace std; const int maxn=2e5+5; int n,k; int vis[maxn]; struct point { long long l,r,v; }a[maxn]; struct n..原创 2020-08-08 13:59:46 · 163 阅读 · 0 评论