常用STL 1.优先队列 priority_queue 内部是用堆(heap)实现的 priority_queue<int> pq; 默认为一个“越小的整数优先级越低的优先队列” 对于一些常见的优先队列,STL提供了更简单的定义方法 例如:“越小的整数优先级越大的优先队列”可以写成“priority_queue<int,vector<int>,greater<int> >pq" 自定义优先级 struct Node { int x, y; frie…
先写一部分,持续到更新完. A: 寒衣调 Description 男从戎,女守家.一夜,狼烟四起,男战死沙场.从此一道黄泉,两地离别.最后,女终于在等待中老去逝去.逝去的最后是换尽一生等到的相逢和团圆. 某日两人至奈何桥前,服下孟婆汤. 每滴孟婆汤都有强度不一的药效,设一碗孟婆汤共N滴(0<N<100000),其中第i滴(0≤i<N)用b[i]表示. 孟婆汤的药效与原料有关,设熬制前同样有N滴原料,第i滴原料用a[i]表示,0≤a[i]<2^32. 药效b[i]的计算方法为b[i]…
最小生成树(无向图) Kruskal 给所有边按从小到大排序 形成环则不选择(利用并查集) P1546 最短网络   https://www.luogu.com.cn/problem/P1546 #include<iostream> #include<cstdio> #include<string> #include<algorithm> typedef long long ll; using namespace std; struct Node { int…
A: 漫无止境的八月 Description 又双叒叕开始漫无止境的八月了,阿虚突然问起长门在这些循环中团长哪几次扎起了马尾,他有多少次抓住了蝉等等问题,长门一共回复n个自然数,每个数均不超过1500000000(1.5*10^9).已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果. Input 第1行是整数n,表示回复的自然数的个数.n<=1e6第2~n+1行每行一个自然数. Output 包含m行(m为n个自然数中不相同数的个数)…
数据结构往往可以在不改变主算法的前提下题高运行效率,具体做法可能千差万别,但思路却是有规律可循 经典问题:滑动窗口  单调队列O(n) POJ 2823 我开始写的: TLE 说明STL的库还是有点慢 #include<iostream> #include<cstdio> #include<string> #include<algorithm> #include<queue> #include<deque> #include<s…
简单搜索 1.DFS UVA 548 树 1.可以用数组方式实现二叉树,在申请结点时仍用“动态化静态”的思想,写newnode函数 2.给定二叉树的中序遍历和后序遍历,可以构造出这棵二叉树,方法是根据后序遍历找到根,然后在中序遍历中找到树根,从而找出左右子树的结点列表然后递归 构造左右子树 3.注意这里输入的模板,用stringstream会方便 #include<iostream> #include<string> #include<cmath> #include&l…
Day2 ---二分 这里直接给出模板 两种对应不同的情况 可以借助数轴理解 int bsearch_1(int l, int r) { while (l < r) { ; if (check(mid)) r = mid; ; } return l; } int bsearch_2(int l, int r) { while (l < r) { >> ; if (check(mid)) l = mid; ; } return l; } 补充:有时候可以借助STL的std::lowe…
第一天,上午讲了些基本的技巧和简单算法,主要就是适应这里. 中午跑到食堂吃了顿“饭”(我并没有挖苦233333),然后回宿舍休息休息 因为 迎接我们的是模拟啊啊啊啊啊阿 下午题一发下来,并没有想象中的那么难………… 此处开始情节大反转………………………………………………………………………………………………………… 首先,我马上A掉了前两道题,emm感觉还很好,然后就开始看T3 然hi偶我充分发挥了自己语文的极高水平,就把题看错了…… 瞪了两个小时才发现已经要结束考试了,于是,就匆匆忙忙的交了卷……
翻转游戏(flip) [问题描述] 翻转游戏是在一个 4 格×4 格的长方形上进行的,在长方形的 16 个格上每 个格子都放着一个双面的物件.每个物件的两个面,一面是白色,另一面是黑色, 每个物件要么白色朝上,要么黑色朝上,每一轮你只能翻 3 至 5 个物件,从而由 黑到白的改变这些物件上面的颜色,反之亦然.每一轮被选择翻转的物件遵循以 下规则: 1.从 16 个物件中任选一个. 2.翻转所选择的物件的同时,所有与它相邻的左方物件.右方物件.上方物件 和下方物件(如果有的话),都要跟着翻转. 以…
桐桐的运输方案(transp) [问题描述] 桐桐有 N 件货物需要运送到目的地,它们的重量和价值分别记为: 重量:W1,W2,…,Wn: 价值:V1,V2,…,Vn: 已知某辆货车的最大载货量为 X,并且当天只能运送一趟货物.这辆货车应 该运送哪些货物,才能在不超载的前提下使运送的价值最大? [输入格式]transp.in 第一行是一个实数,表示货车的最大载货量 x(1<x≤100). 第二行是一个正整数,表示待运送的货物数 n(1<n≤20). 后面 n 行每行两个用空格隔开的实数,分别表…