首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
夏雨天114
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
20
文章 20
沸点 0
赞
20
返回
|
搜索文章
赞
文章( 20 )
沸点( 0 )
P3916 题解
对于一个DAG,可以通过记忆化搜索得到答案。从每一个没有被访问过的点(即ans值为0)开始搜索,不断更新ans数组即可,如果搜到一个ans值不为0的点,那么直接用其ans值更新当前点的ans,不需要再搜一遍。 但是如果出现环,按照原先的搜索方式没法找到一个环中编号最大的点。因为…
P2853 题解
一个牧场如果能被所有牛都访问到,就可以贡献一个答案。 最初想法是从每个有牛的牧场开始dfs,碰到有牛的牧场就“带上这只牛”,并把该牧场变成没有牛的牧场。但是这样做不好处理有环的情况,因为很难维护两次访问起点之间“带上了多少牛”。 退而求其次,碰到一只陌生的牛不带它,只将能够到达…
Codeforces Round #676 (Div. 2) 题解
假设$a<b$,且$a$有$m$位,$b$有$n$位。那么$x$的位数必定小于等于$m$。$x$中超过$m$位的数字不可能令答案变得更小,因为超过$m$位要想让答案更小,只能异或掉$b$的一个$1$,那么$x$的该位必然是$1$,这样就会让$a$在此增加一个$1$,答…
HDU 3829 Cat VS Dog 题解
最后所有开心的人当中,对于任意一对a,b,必定满足a喜欢的不是b讨厌的且b喜欢的不是a讨厌的。如果在喜欢和讨厌矛盾的人之间连边,就可以转化为最小点覆盖问题。要想开心的人最多,就要用最少的点消除掉所有的矛盾边。每消掉一条矛盾边得到的最优结果必定会产生一人开心一人不开心,矛盾连边跑…
Codeforces GYM102307 G. Graduation 题解
一门课只能作为另外至多一门课的先修课,将每一门课作为一个节点,从一门课连一条有向边到其先修课,那么必定构成一个森林。问题就转化为给定一棵树,每次取$k$个叶结点,问多少次可以取完。注意一个叶结点被取过之后他的父亲节点并不能马上变为叶结点,要等取完这一轮才可以(因为修完$x$的先…
Codeforces GYM305690 G. Ice Cream 题解
二分时间。对于时间$ti$,在这期间要一刻不停的吃,因此将所有冰激凌减去融化的部分后,检查把剩下的部分全部吃完需要多长时间。
Codeforces GYM102700 I. Incredible photography 题解
简单来说,就是在$i$左边找到第一个高于$a[i]$的楼(高度为$a[lp]$),若继续往左仍有高度为$a[lp]$的楼且该楼与$i$之间没有更高的楼阻挡,就继续往左取。对称地定义$rp$。 那么最优解就是在$a[lp],a[rp]$中取较矮的楼转移,若二者高度相同,则都进行转…
关于公倍数
两个正整数a,b。设$g=gcd(a,b),h=lcm(a,b)=\frac{ab}{g}$。 假设存在两数的一个公倍数$l=k_1h+c(0<c<h)$。因为$h=\frac{ab}{g}$,且$b$为$g$的倍数,因此$l=k'a+c$,不是$a$的倍数…
Codeforces GYM102307 J. Jail Destruction 题解
两种操作:区间减和区间查询。 最初考虑用线段树维护区间和以及区间最小值。对于每次区间减$(al,ar,val)$,如果其中的一个区间最小值大于$val$,那就直接对该区间减去$val$,并打上懒标记,否则的话就单点修改。超时。 优化:如果一个元素$p$被减为$0$,就可以直接把…
Codeforces Round #664 (Div. 1) A. Boboniu Chats with Du 题解
取笑可以分为两种,一种不会被禁言(小于等于$m$),称之为$a$,一种会被禁言(大于$m$),称之为$b$。枚举用了多少$b$即可。 加入了两个优化:如果选的$b$太少,也就是说用选的这些$b$带来的禁言天数并不能把其他不想选的$b$全部覆盖掉,就跳过。如果选的$b$太多,在有…
下一页
关注了
1
关注者
0
收藏集
0
关注标签
0
加入于
2019-10-17