摘要: ``` #include using namespace std; #define random(a,b) ((a)+Curl_rand()%((b)-(a)+1)) static unsigned int randseed; int n,cnt; unsigned int Curl_rand(void) { unsigned int r; /* 返回一个无符号32位整型的伪随机数. */...阅读全文
posted @ 2019-02-13 11:59 Greenty 阅读(13) 评论(0) 编辑
摘要: 题意 你有n个数字,范围[1, m],你可以选择其中的三个数字构成一个三元组,但是这三个数字必须是连续的或者相同的,每个数字只能用一次,问这n个数字最多构成多少个三元组? 分析 这里想谈一下DP的一个套路,捆绑 有的DP题目,它可能会要求和一些东西捆绑,求方案数,这种时候如何单点设置状态呢? 以这个阅读全文
posted @ 2019-02-09 15:52 Greenty 阅读(35) 评论(2) 编辑
摘要: ![](https://img2018.cnblogs.com/blog/1172536/201902/1172536-20190208191847039-864399391.png) ![](https://img2018.cnblogs.com/blog/1172536/201902/1172536-20190208191902056-364022365.png) ![](https://...阅读全文
posted @ 2019-02-08 19:20 Greenty 阅读(11) 评论(0) 编辑
摘要: 题意 给定一个n阶方阵A,现在要从里面取出一个n/x阶子方阵B,使得使得对于对于A中每一个元素,都有 ,求x的最大值 分析 考虑这个关系式 $\frac{i}{x} 1 = \frac{i x}{x}$ 也就是说,$B[\frac{i}{x}][\frac{j}{x}] = A[i x+p][j x阅读全文
posted @ 2019-01-29 02:14 Greenty 阅读(62) 评论(0) 编辑
摘要: 题意 给一串01串,对该串进行若干次操作,直到串为空 操作为:选择一段连续的0或者1,删除它,拼接前后两部分成为新串,得到价值为a[删除的长度](a为给定的数组) 思路 一个非常规的DP 考虑题目所给的操作,我们从中删除一段,再把前后拼接起来,如何设置状态?记录下断点的位置?不行,那样我们可能在其中阅读全文
posted @ 2019-01-28 17:49 Greenty 阅读(156) 评论(0) 编辑
摘要: 题意 给你一个森林(若干棵树),向其中加边,使得最后形成一棵树,要求最后形成的树的直径最小,输出这棵树的直径和所加的边 分析 每加一条边,都可以将两棵树合并成一棵树,总共有t = n - m棵树 也就是说我们需要在这t棵树里面,分别选一个点,将他们连接起来,使得最后形成一棵直径最小的树 这个点的性质阅读全文
posted @ 2018-12-19 20:56 Greenty 阅读(292) 评论(0) 编辑
摘要: 题意 分析 如果我们已经求得了 f[L],f[L+1] ... f[mid],他们均能对f[mid+1],f[mid+2]...,f[R]产生贡献 对于x ∈ [mid+1,r] f[x] += \sum_{i=L}^{mid}(f[i]*g[x-i]) 等式右边满足卷积模式 具体看代码 代码阅读全文
posted @ 2018-11-30 22:35 Greenty 阅读(33) 评论(0) 编辑
摘要: 题意 分析 看似是期望问题,但是没有权重,就是求平均值,而答案要求乘上方案总数,所以 这是一个计数问题 考虑max,若三个绝对值分别为(x,y,z),则max = max(x,y,z) distance = max ^ Ib ^ (Ib+x) ^ Ab ^ (Ab + y) ^ Gb ^ (Gb +阅读全文
posted @ 2018-11-21 03:46 Greenty 阅读(61) 评论(0) 编辑
摘要: 题意 有n个人围成一圈,编号1到n,从1号开始报数,每报到第k个,此人出列,下一个人再从1开始报数,求第m个出列的人的编号(n,m,k ≤ 1e18, m,k其中一个小于1e6) 分析 我们知道,约瑟夫环的出队是有O(n)的递推算法的:f(n) = (f(n-1)+k-1)%n 约瑟夫环数学推导 但阅读全文
posted @ 2018-11-16 11:49 Greenty 阅读(97) 评论(0) 编辑
摘要: 参考资料 https://blog.csdn.net/lchi1997/article/details/77860085 五边形数和分拆数模板 ll p[100005]; ll q[200005]; const ll mod = 1e9+7; void init() { int tot = 0; q阅读全文
posted @ 2018-11-11 15:26 Greenty 阅读(42) 评论(0) 编辑
摘要: 概述 特征检测与匹配的目标是识别一个图像中的关键点与另一个图像中的对应点之间的配对。在此实验中,你将编写代码以检测图像中的特征点(对于平移、旋转和照明具有一定的不变性),并在另一个图像中找到最佳匹配特征。 实施细节 特征检测 参考资料 Harris角点检测算法——lwzkiller Harris角点阅读全文
posted @ 2018-11-06 22:29 Greenty 阅读(229) 评论(0) 编辑
摘要: 参考资料 精确覆盖问题讲解——grenet 数独模型转换——bl0ss0m DLX算法求解数独——grenet 问题引入 精确覆盖问题: 有r个由1~n组成的集合S1,S2,S3....Sr,要求选择若干集合,使得1~n恰好只在一个集合里出现。 数独问题: 在9×9的矩阵里填数,使得每一行每一列每一阅读全文
posted @ 2018-11-02 21:22 Greenty 阅读(125) 评论(0) 编辑
摘要: 可变参数函数 以不定参数求和为例 分数类 Int128阅读全文
posted @ 2018-09-30 14:10 Greenty 阅读(21) 评论(0) 编辑
摘要: 参考资料 OI-WIKI 代码阅读全文
posted @ 2018-09-30 00:05 Greenty 阅读(22) 评论(0) 编辑
摘要: 参考资料 原根 离散对数 求质数的原根 OI-WIKI 任意模数的BSGS算法证明 拓展欧几里得求通解 BSGS变形 原根 如果g是m的原根,对于任意一个数x(x<m),都可以找到一个I(x) 小于等于 φ(m),使得 gI(x) = x ,I(x)称为x的指标。也就是说在整数模m乘法群(所有与 m阅读全文
posted @ 2018-09-28 20:23 Greenty 阅读(147) 评论(0) 编辑
摘要: Shift-And S表示原串,T表示目标串,要在S中搜索T D是一个bitset:D[n-1,n-2,...,1,0]共n位 x控制S串的扫描,当扫描到字符S[x]时,D的第y位D[y]=1当且仅当T[0..y]是S[0..x]的一个后缀 B是一个map,key是题目字符集合,value是一个bi阅读全文
posted @ 2018-09-26 21:27 Greenty 阅读(152) 评论(0) 编辑
摘要: #include using namespace std; char s[105]; int n; stackst; vectorvec; void csh() { vec.clear(); } int comp(char x,char y) { // 定义运算符优先级: x 是否大于 y void trans() { for(int i = 0;ival; // 定义运...阅读全文
posted @ 2018-09-09 09:48 Greenty 阅读(122) 评论(0) 编辑
摘要: 第一章 绪论 数据管理的三个发展阶段及各阶段特点 page 7~8 1.人工管理阶段(20世纪50年代中期前) 特点: 数据不保存 应用程序管理数据 数据不共享 数据不具有独立性 2.文件系统阶段(20世纪50年代后~60年代中期) 特点: 数据以文件方式长期保存 文件系统管理数据 数据共享性差,冗阅读全文
posted @ 2018-09-05 11:20 Greenty 阅读(10) 评论(0) 编辑
摘要: 输入输出 python的输入是野生字符串,所以要自己转类型 strip去掉左右两端的空白符,返回str slipt把字符串按空白符拆开,返回[str] map把list里面的值映射到指定类型,返回[type] EOF用抓异常 print后面加逗号就不会换行,否则反之;3.x自行传参 1.有多组输入数阅读全文
posted @ 2018-08-30 13:22 Greenty 阅读(15) 评论(0) 编辑
摘要: 生成函数 HDU 1171 题意:给你n种物品(n≤50),每种物品价值为v(v≤50) ,不超过m个(m≤100),将这些物品分配给两个人,使得两人各自物品价值和尽可能接近,输出两人各自物品价值和 思路:构造n个多项式,第i个多项式的k×v[i] 位为1,其余全为0(0 ≤ k ≤ m),乘起来,阅读全文
posted @ 2018-08-28 20:55 Greenty 阅读(27) 评论(0) 编辑