摘要:
这道题需要小小的思考一波 (然而我思考了两节课) 好,我们先得出一个结论:a中第k大的与b中第k大的一定要排在一起,才能保证最小。 然后发现:挪a,b其实没有区别,故我们固定a,挪b。 然后我们就思考:只能挪相邻的,那么就是求逆序对数啊! 那么我们把这两个固定到结构体里,按a排序,求b的逆序对。 交 阅读全文
摘要:
此题莫队可过 然而太难了...... 我在胡雨菲那看的解法,然后自己打了一波,调了一个错,上交,自信AC。 做法:离线,对于L排序。 每种颜色可能出现很多次,那么我们如何不算重复呢? 只需把[L,n]区间内第一个出现的该颜色标为1即可。 所以我们记录下每个下标i所对应的颜色下一次出现的位置next[ 阅读全文
摘要:
树状数组专题 [update]网上蒯了个区间加区间求和的板子,姑且先放着吧 1 inline void add(int p, LL x) { 2 for(int i = p; i <= n; i += i & -i) { 3 sum1[i] += x; 4 sum2[i] += x * p; 5 } 阅读全文
摘要:
4月1日->4月14日 ST表 树状数组 LCA 一周的时间,力求掌握这三个知识点并各刷五道题左右。 树状数组 ST表 LCA 然而:进展总比计划快(......什么鬼) 树状数组刷了5题,ST表和LCA打了模板。 下一步目标: 贪心 阅读全文
摘要:
某省选 胡雨菲让我做的,她自己已经AK了... 在loj(自由oj?)上面搜索shoi2017即可。 洛谷上也有,搜六省联考就行 第一题:大水题枚举 P3745 看题目就很水:(其实是因为胡雨菲给我讲了做法),我们分析可知:烦躁度只与最晚的出成绩日期有关。然后我们枚举出成绩日期,得出一个烦躁度。取m 阅读全文
摘要:
真的naive...... 我把所有能剪的枝都剪了才过的。否则就是TTT 还有个很神奇的事:数组作为参数传进递归函数时会造成上一层函数里的数组的改变。这个我TM调了一天。 下面奉上代码 1 #include <cstdio> 2 #include <cstring> 3 using namespac 阅读全文
摘要:
八数码:我使用了map判重 结果一遍就轻松A题了。 关于map的用法: ①创建一个map map<char,int>m; map<string,long long int>m1; 很浅显。。。 ②插入 m.insert(make_pair(19260817,"naive")); m['R']=3; 阅读全文
摘要:
反正蛮水的一道题。 胡雨菲一句话让我的代码减少了10行还A了,之前的是个错的。 思路:先求出最短路,然后依次删去最短路上的每一条边,跑最短路求最大值。 关于删边:我的想法是当作链表删除,把last的next移到next,把next的last移到last,之后还要恢复。 同时还要特判last*next 阅读全文
摘要:
这个sb题目,剧毒。。。 STL大法好 首先,我准备用经典的线段树优化扫描线来做。之前的矩形周长把我困了数天导致我胸有成竹。 然后,敲代码半小时,调试半个月......这个,sb,怎么改都是0分+2个RE... 然后我爆炸了,请胡雨菲来帮忙。他还是提议我用set做。然后就set了... 跑的贼慢,不 阅读全文
摘要:
这里用到了随机数生成器以及ctime 1 #include <cstdio> 2 #include <cstdlib> 3 #include <ctime> 4 #include <windows.h> 5 using namespace std; 6 int main() 7 { 8 int mo 阅读全文