摘要:
这是什么!! 无修改 线段树 板子啊!! 看到题解中竟没有一片线段树题解,于是我打算来普及一发~~装一波~~ 这道题仅涉及两个线段树最基本操作: 建树 以及 区间查询 代码注释很详细,这里就不过多赘述,直接上代码: cpp include include include include define 阅读全文
摘要:
题目大意: 华佗~~什么鬼~~去病人家看病时会把所有药装在瓶子里串成一条链,但他不知道哪个瓶子里装哪种药,他只记得链上瓶子的顺序,所以他这样解决:当他需要带两种药$A$和$B$时,他会把瓶子串成$ B A B$这样中间为$A$药,两边为$B$药。 问华佗带$n$种药最少需要多少瓶子。 题目比较简单, 阅读全文
摘要:
从题目不难看出这是一道最小生成树的裸题,然后再看数据范围: $n include include include define maxn 400005 using namespace std; int n, m, fa[maxn], tot, head[maxn], sum; struct Edge 阅读全文
摘要:
筛出整数范围内的素数,对于区间[l, r],枚举合法的素数,然后标记他们的整数倍,显然被标记的就是[l, r]范围内的合数,那么暴力枚举剩下的素数输出即可。 这里只说明大体思路,具体细节会放在代码里。 代码: cpp include include include include include d 阅读全文
摘要:
题目大意:给出一个整数$n(0 include include include using namespace std; maprhs; map::iterator it; // 定义迭代器,后面扫的时候要用到。 int n; string s, temp, ans; // s为题目给出的字符串,t 阅读全文