上一页 1 ··· 7 8 9 10 11 12 13 下一页
摘要: 怎么这样一看感觉自己也没多少一遍过的题啊(悲) 过于久远的就不往上放了... 不是洛谷题库的题有些找不到或记不住是不是一遍过了/kk lgP1450 硬币购物 容斥枚举加减的时候少写了一种情况。 lgP7076 动物园 没特判;爆 long long ;判断条件写反。 lgP2801 教主的魔法 b 阅读全文
posted @ 2021-02-05 20:43 樱雪喵 阅读(85) 评论(1) 推荐(1) 编辑
摘要: 重构完毕。 阅读全文
posted @ 2021-01-29 22:39 樱雪喵 阅读(2246) 评论(12) 推荐(7) 编辑
摘要: 主要思路:二进制拆分。 先将 $m$ 进行二进制拆分。 注意金币总数有限,也就是说拆分后可能会多出来一组。多出来的这组如果不是 $2^n$ 就不需要考虑了,因为不会和前面的重复。 接下来考虑重复的情况,如 $m=23$ ,可以拆为 $1 2 4 8 8$ 。 于是我们直接把俩 $8$ 变成 $7$ 阅读全文
posted @ 2021-01-29 20:46 樱雪喵 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 题目要求同时查询最大最小值,所以选择用 multiset 。 感觉没啥好说的,但是刚开始没想到这东西...... #include<bits/stdc++.h> using namespace std; multiset<int> st; int n,m; int main() { scanf("% 阅读全文
posted @ 2021-01-15 21:46 樱雪喵 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 贪心。 每次取最小的两堆合并,最后即为正确答案。(我也不会证明/wq) 所以说主要问题就是怎么找最小的两堆。 由于中间不断有插入和删除,所以用优先队列。 ~~扯不下去了~~ 直接看代码吧。 #include<bits/stdc++.h> using namespace std; priority_q 阅读全文
posted @ 2021-01-15 21:00 樱雪喵 阅读(98) 评论(0) 推荐(0) 编辑
摘要: ~~本来看着挺简单结果写完了怎么也调不对调了半个小时~~ 很明显直接用优先队列直接模拟就好了。(没啥好说的)~~但是就是写不对~~ 刚开始发现记不住 priority 怎么写,后来发现自己记不住重载运算符怎么写,再后来发现忘了优先队列怎么用... 就当是复习一遍这堆东西了吧。 #include<bi 阅读全文
posted @ 2021-01-15 20:38 樱雪喵 阅读(61) 评论(0) 推荐(0) 编辑
摘要: ~~第一次知道树形dp还能状压~~ 题面挺长的,大概就是选包含五种矿藏的子树使代价最小。 因为一共只有五种,所以把可以五种拿到与没拿到状态压缩一下,然后就是正常树形 dp 了。 话说我刚开始把 inf 赋成了 2e9 害得自己找了好长时间重写一遍才发现/dk #include<bits/stdc++ 阅读全文
posted @ 2021-01-08 22:40 樱雪喵 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 写了一个多小时,本来觉得 bfs 能过然后码了好久发现不会确定顺序,又重新写了一遍 dfs /kk ~~好吧其实是因为我记得上次做这题的时候写的是 bfs~~ 设 $f[i][0]$ 表示以 $i$ 为根的子树当 $i$ 不去时的最大快乐值, $f[i][1]$ 表示以 $i$ 为根的子树当 $i$ 阅读全文
posted @ 2021-01-08 19:56 樱雪喵 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 先吐槽下题面。。。。。。 感觉题面完全没说明白这一堆变量是干嘛的,最后还是照着题解代码才看懂题/kk 设 $f[i]$ 表示状态为 $i$ 时吕布剩余的最大血量。 梳理一下题目要素: 两个人会一直互相攻击直到其中一个死掉,设 a1=max(1,lvatmp-emd[j]),a2=max(1,ema[ 阅读全文
posted @ 2020-12-20 17:41 樱雪喵 阅读(103) 评论(0) 推荐(1) 编辑
摘要: 实在不知道错哪了。。。 对着 std 检查了好几遍了QAQ 题解见注释(不过估计题解也是错的,不然为什么写错啊QAQ #include<bits/stdc++.h> using namespace std; const int N=1<<16; int m,n,a,b; double pr[N],s 阅读全文
posted @ 2020-12-18 23:44 樱雪喵 阅读(95) 评论(0) 推荐(1) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 下一页