摘要: Hydrogen_Helium的博客搬家了!!!! 今后基本上所有文章都会发布在博客园,部分也会同步到洛谷博客。 博客才刚刚开始维护,一些不好的地方还请大家多多见谅! 阅读全文
posted @ 2019-10-25 14:44 Hydrogen_Helium 阅读(174) 评论(1) 推荐(1) 编辑
摘要: 复赛前整理整理……~~涨涨RP~~ 本文主要收集整理各类板子的代码。 一·IO优化 快速读入 时间复杂度:$O(logn)$ 龟速乘 用处:乘法爆$long\ long$时使用 时间复杂度:$O(logn)$ 逆元 用处:计算$\frac{a}{b}mod\ P$ 时间复杂度:$O(\sqrt n) 阅读全文
posted @ 2019-11-11 11:38 Hydrogen_Helium 阅读(225) 评论(1) 推荐(0) 编辑
摘要: 首先定义一个~~比较显然~~的状态:$f[i][j][4]$,其中 $f[i][j][0]$表示以$i$为根的子树安装了$k$个监视器,且节点$i$安装了监视器并被监听; 那么,相同地 $f[i][j][1]$表示节点$i$安装了监视器且不被监听 $f[i][j][2]$表示节点$i$未安装监视器且 阅读全文
posted @ 2019-11-08 08:25 Hydrogen_Helium 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 这是什么!! 无修改 线段树 板子啊!! 看到题解中竟没有一片线段树题解,于是我打算来普及一发~~装一波~~ 这道题仅涉及两个线段树最基本操作: 建树 以及 区间查询 代码注释很详细,这里就不过多赘述,直接上代码: cpp include include include include define 阅读全文
posted @ 2019-10-25 15:02 Hydrogen_Helium 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 从题目不难看出这是一道最小生成树的裸题,然后再看数据范围: $n include include include define maxn 400005 using namespace std; int n, m, fa[maxn], tot, head[maxn], sum; struct Edge 阅读全文
posted @ 2019-10-25 15:01 Hydrogen_Helium 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 华佗~~什么鬼~~去病人家看病时会把所有药装在瓶子里串成一条链,但他不知道哪个瓶子里装哪种药,他只记得链上瓶子的顺序,所以他这样解决:当他需要带两种药$A$和$B$时,他会把瓶子串成$ B A B$这样中间为$A$药,两边为$B$药。 问华佗带$n$种药最少需要多少瓶子。 题目比较简单, 阅读全文
posted @ 2019-10-25 15:01 Hydrogen_Helium 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 筛出整数范围内的素数,对于区间[l, r],枚举合法的素数,然后标记他们的整数倍,显然被标记的就是[l, r]范围内的合数,那么暴力枚举剩下的素数输出即可。 这里只说明大体思路,具体细节会放在代码里。 代码: cpp include include include include include d 阅读全文
posted @ 2019-10-25 15:00 Hydrogen_Helium 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 题目大意$:$给你一个单词,每个单词仅由$a z$和$A Z$范围内的字母构成。对于每个字母,赋予其一个值,$a 1,b 2……z 26,A 27,B 28……Z 52.$对于一个单词,它的价值为各个字母的值的和,若它的价值是一个素数,那么输出$"It~is~a~prime~word."$否则输出$ 阅读全文
posted @ 2019-10-25 14:59 Hydrogen_Helium 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给出一个整数$n(0 include include include using namespace std; maprhs; map::iterator it; // 定义迭代器,后面扫的时候要用到。 int n; string s, temp, ans; // s为题目给出的字符串,t 阅读全文
posted @ 2019-10-25 14:59 Hydrogen_Helium 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有两个时钟,一个每天慢$a$秒,另一个每天慢$b$秒,询问两个时钟下一次重合的时刻$.$ 时刻重合也就是整整相差一周的时候,一周为$12$个小时,总共$12 60 60$秒,用这个数除以$abs(a b)$即为走多少天后两个时钟重合。接下来用需要走的天数$ $ 某一个表每天走的时间即为答案 阅读全文
posted @ 2019-10-25 14:58 Hydrogen_Helium 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 题目大意$:$给出$N$个整数和一个整数$M$,求$N$个数中差值最小且相加等于$M$的两个数。 看到差值最小,我们首先想到排序,二分,实际上这也就是本题的正解解法了。 首先我们对题目给出的$N$个整数进行排序,使整个序列变得单调,然后我们二分查找出第一个大于$M/2$的位置$pos$,然后设$l= 阅读全文
posted @ 2019-10-25 14:57 Hydrogen_Helium 阅读(121) 评论(0) 推荐(0) 编辑