模板
Joovo
成事不说,遂事不谏,既往不咎。
展开
-
最长不减子序列变形 The Heaviest Non-decreasing Subsequence Problem 南宁网络赛
题目链接: The Heaviest Non-decreasing Subsequence Problem 南宁网络赛大意: 给一个串,每个数字有一个权值,负数权值为 0 ,若数字大于10000 其权值为 5,并减去 10000 。 其余权值为 1。分析: 容易想到,读到负数忽略。读到 >10000 做处理,将这个数复制 5 遍放进去,转换为权值为 1 ,那么求一个最长不减子序列,len 就原创 2017-09-27 21:32:13 · 406 阅读 · 0 评论 -
Gym 101653O Diamonds 总结 LCS LIS
做到一题,顺便总结一下 LIS LCS 先给出一道 n2 的 DP 做法求LIS 原题链接: Gym 101653 O Diamonds大意: 给一个序列,每个点代表一个项链,有两个值 w,c 要求最长上升子序列,只不过现在要同时考虑两个思路: 题目的范围很宽,直接n2算法能直接过,一开始写nlogn算法不知道为什么会错,好像是因为重载过后 lower_bound仍然不能用,有别原创 2018-02-06 15:22:10 · 316 阅读 · 0 评论 -
能量项链 HRBUST - 1376 区间DP [模板]
题目链接: 能量项链Description 在Mars星球上,每个Mars人都随身佩带着一串能量项链。在项链上有N颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记。因为只有这样,通过吸盘(吸盘是Mars人吸收能量的一种器官)的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可以被吸盘吸收的能量。如果原创 2018-02-05 16:06:12 · 337 阅读 · 0 评论 -
滑雪 UESTC - 252 记忆化搜索 dp
大意: 一道很经典的水题 在一个矩阵中找到最长的下降序列 思路: 记忆化搜索 练练手代码实现:#includeusing namespace std;#define pb push_back#define inf 0x3f3f3f3f#define mem(s,t) memset(s,t,sizeof s)#define mk make_pairtypede原创 2018-02-05 15:12:21 · 239 阅读 · 0 评论 -
Minimal Labels CodeForces - 825E 拓扑排序 贪心 [模板]
原题链接: E. Minimal Labels题目大意: 给出无向图 逆向拓扑排序分析: 拓扑排序标号的一般步骤是从小往大,而从大到小时会出现状况 所以只要反向建边,反向编号即可.#include using namespace std;typedef long long ll;typedef pair int,int> pii;#define mem(s,t)原创 2018-02-05 13:49:36 · 260 阅读 · 0 评论 -
POJ 2976 Dropping tests 01分数规划 模板 二分&&Dinkelbach
DescriptionIn a certain course, you take n tests. If you get ai out of bi questions correct on test i, your cumulative average is defined to be Given your test scores and a positive integer k, deter原创 2017-12-20 17:16:10 · 378 阅读 · 0 评论 -
Dungeon Master POJ - 2251 BFS
邝斌系列 最短路模板题 看样例就懂了:3 4 5S.....###..##..###.#############.####...###########.#######E1 3 3S###E####0 0 0多加两个方向,向上和向下即可。#include <string>#include <cstring>#include <cmath>#include <algo原创 2017-11-16 23:38:31 · 253 阅读 · 0 评论 -
多校9 HDU-6164 Dying Light 几何数学
原题链接: HDU-6164大意: 给出一个平面镜围成的凸包,每个平面镜有一个反射衰减为 ki<0.9k_i<0.9 若射到平面镜缝隙则能量衰减至 0,给出每个平面镜的起点和终点(逆时针顺序),和入射的向量方向。入射能量为 1.0 ,求能量衰减到 1e-4 要经过多少次碰撞。思路: 直接硬搞,由于 ki 有范围 可以求出最多不超过100次反射一定停止。 考虑到反射和判定线段跨立,比赛的时候写原创 2017-08-29 17:10:51 · 682 阅读 · 0 评论 -
多校8 HDU-6143 Killer Names 排列组合&斯特灵数
原题链接: HDU-6143大意: 名字由两部分组成,等长的 first name 和 last name 。现在给出 first 的长度 n,和可用字母数 m 。要求first name 用过的字母 last name 不能再用,(即两者没有交集),求总共有多少种构造方式。Limits: n、m : 2000思路: 比赛的时候不知道其他人怎么过的,好像相当一部分不是用的组合数过的…标程用的原创 2017-08-17 22:56:33 · 360 阅读 · 0 评论 -
[模板] exgcd模板解不定方程
#include <bits/stdc++.h>using namespace std;typedef long long ll;typedef pair <int,int> pii;#define mem(s,t) memset(s,t,sizeof(s))#define D(v) cout<<#v<<" "<<v<<endl#define inf 0x3f3f3f3f#define原创 2017-09-27 21:15:46 · 764 阅读 · 0 评论 -
[模板]kmp算法
很详细的参考资料: July大神的从头到尾彻底理解KMP有三个对应关系:Next 数组存的是 到当前 j 位置前的 的最长相同前缀后缀长度。与此类似的是 最长长度表,是 到当前 j 的位置 的最长相同前缀后缀长度。两者存在平移一个单位关系。模式串的移动。失配时,模式串向右移动的位数为:已匹配字符数 - 失配字符的上一位字符所对应的最大长度值具体实现://s 为母串, t 为模式串int原创 2017-10-14 21:31:33 · 246 阅读 · 0 评论 -
#439 Div.2 C. The Intriguing Obsession 组合数学
原题链接: C. The Intriguing Obsession大意: 有若干个小岛,由三种颜色组成,现在在小岛之间添加桥,桥的长度为1,要求相同颜色的小岛之间的路长度不小于三,求有多少的方法。思路: 可以看成一个三棱柱,每条棱代表一个颜色,易得棱上没有线段相连,那么考虑一个面上的线段连法。易得 不能有两个 A 棱上的点同时连到 B棱上的相同点。 线段数 i 从 0~min(a,b) ,对于原创 2017-10-12 18:40:03 · 288 阅读 · 0 评论 -
Olympic Parade UVALive - 7181 卡时间空间,哈希
Olympic Parade UVALive - 7181 大意: 多组样例,每组样例给一个 N 和 K ,给出 N 个数字,求数字出现的次数不为 K 的倍数的那一个。样例输入: 10 3 1 1 2 3 1 3 3 2 2 2 输出: 2 Hint: 有3个1,4个2,3个3,故答案为2。分析: 各种卡时间,unordered_map也不行,用位运算分析优化。处理原创 2017-10-02 01:20:05 · 347 阅读 · 0 评论 -
CodeForces-626C Block Towers 二分例题 & 贪心
题目链接: CF-626C大意: 给两个数字 n,m。 求构造出 n 个 2 的倍数,m 个 3 的倍数,数字各不相同,求最大值的最小值。思路: 用二分的方法确定。首先确定题目能否用二分思想:1. 是否满足单调性.2. 是否有可行的判断条件。对于这道题,简单判断来看,对应出的 “构造出 n 个 2 的倍数,m 个 3 的倍数”这个解都有多个,而解集中有一个最小的,就是答案,而下一个解集对应的最原创 2017-08-12 01:53:36 · 575 阅读 · 0 评论 -
HDU-4565 So Easy! 矩阵快速幂 & 共轭构造
原题链接: HDU-4565 Limits: 0< a, m < 2^15, (a-1^)2< b < a^2, 0 < b, n < 2^31大意:RT思路: 有向上取整在,完全没办法算出来的,只能通过推导解掉。 思考为什么不是向下取模而是向上取模。题目式子联想到其共轭形式 代码实现:#include <iostream>#include <string>#include <c原创 2017-08-15 00:59:25 · 568 阅读 · 0 评论 -
ccpc网络赛 E - CaoHaha's staff 几何数学 && 构造
原题链接: HDU-6154大意: 给一个面积,要求最少要用多少条边构造出一个多边形,多边形的面积 ≥\ge 给定的面积。 构造方式是在一个坐标系内,每条边为 2√\sqrt2 长度的对角线或沿着格子距离为 1 的线段。思路: 要求最少需要多少边,而数据量这么大,考虑构造构造数组,表示这个边能构造出的最大面积。 具体想法是: 联想到圆,越圆的图形,面积越大。构造出 S=5 这个图形,按照原创 2017-08-22 00:43:48 · 560 阅读 · 0 评论 -
A Simple Problem with Integers POJ - 3468 线段树模板
题目链接: POJ-3468大意: 区间修改,区间求和。线段树模板题。线段树与树状数组比较: 线段树的功能更强大,但树状数组的常数较小。#include <iostream>#include <cstring>#include <string>#include <cmath>using namespace std;typedef long long ll;#define mem(s原创 2017-09-03 13:00:35 · 405 阅读 · 0 评论 -
区间DP Cheapest Palindrome
题目链接: POJ-3280 大意: 给一个串,给出每个字母删去和增加的代价(cost) 要求使之变成回文串的最小代价分析: 考虑区间 DP 方程, dp(i,j) 表示从 i 到 j 的最小代价,那么 i 到 j 已经考虑完回文了 对于 dp(i,j) 方向有 dp(i+1,j) 和 dp(i,j-1) 两个,分别从增加和删除两种方式中取小值dp方程:if s[i] == ...原创 2018-02-25 17:30:18 · 206 阅读 · 0 评论