算法
2112222222222
这个作者很懒,什么都没留下…
展开
-
背包九讲学习体会
参考博客https://blog.csdn.net/yoer77/article/details/70943462以下都是按上面链接中博客学习过程的心得总结 1、第一部分 01 背包递推公式中,绝不能使用未定义的值(相当于等式后面的东西在上几次被赋值过)递归公式中,从大到小递归,得到最小解后回溯,因此合法。但是在递推公式中,若也是从大到小推,如dp[i][j] = max(...原创 2018-04-21 18:47:22 · 176 阅读 · 0 评论 -
数学结论归纳
1、n进制分数转换成x进制 问转换后是否是有理数举个例子 13/128 转换成2进制-->13*(1/(2^7))容易得到,仅和分母有关,且分母和进制有理化简最后为1的话,命题为真题目传送门...原创 2018-05-17 21:33:58 · 171 阅读 · 0 评论 -
LCA最近公共祖先
倍增做法(其他的我不会一些自己的理解dp[i][j] 表示节点i 向上找 第 2^i 个点。这也就是倍增思维。比方说 节点a 和节点b相差了 13。13 表示成2进制就是 1 0 1 1 , 那a到b 只需要先走最开头的1 (也就是先加上8) , 则剩下的距离就是 a+8 和 b 的关系。完成了状态的转移 dp[i][j] = dp[ dp[i][j-1] ] [j-1] , d...原创 2018-08-16 11:32:03 · 117 阅读 · 0 评论 -
递推专题
* 本专题锻炼递推的思维,问题由子问题构造 *HDU—Children’s queue(递归解法)题意:男生女生排队,女生不可以单独一个人存在,例如 男男女 不合法, 女女男则可以,求合法序列个数思路:养成递推的习惯, 定义f[ n ] 表示排n个人的合法序列个数, 我们希望求得f[ n ]时,那么一定是由他的子状态构成,而子状态肯定也是合法状态,那样我们就不必关心它内...原创 2018-08-08 20:31:44 · 245 阅读 · 0 评论 -
codeforces D. Vasya And The Matrix 数学思维积累
http://codeforces.com/contest/1016/problem/D题意:NxM的矩阵, 给你第1行到第n行的整行的异或和 , 以及第1列到第m列的整列上的异或和。问能否构造出这个矩阵思路:无论是从行的角度看, 还是列的角度看,他们描述的都是同一个矩阵, 因此如若矩阵合法,那么他们的异或和比必须为0, 相当于整个矩阵异或了两次。 可以判断是否合法之后,我们怎...原创 2018-08-12 20:14:24 · 106 阅读 · 0 评论 -
2018百度之星初赛B HDU 6383 p1m2 (二分暴力)
转自这里http://www.cnblogs.com/yzm10/p/9463819.htmlProblem Description度度熊很喜欢数组!!我们称一个整数数组为稳定的,若且唯若其同时符合以下两个条件:数组里面的元素都是非负整数。数组里面最大的元素跟最小的元素的差值不超过 1。举例而言,[1,2,1,2] 是稳定的,而 [−1,0,−1] 跟 [1,2,3] 都...原创 2018-08-12 19:08:22 · 142 阅读 · 0 评论 -
带权并查集
今天被队友鄙视了一下,决心复习1、POJ 食物链 http://poj.org/problem?id=1182 “传送门”思路:A吃B , A->B 就让 relation[A] = relation[B] + 1, 然后模3 。 这么做当 B->C C->A的时候不会有问题吗? 不会, 仔细分析 并查集的结构是这样的 假设给出 A1->A , B1...原创 2018-08-14 13:55:13 · 135 阅读 · 0 评论 -
简单dfs专题
由于被状压DP打自闭,觉着来dfs找找自信,没成想依旧自闭orz HDU 2610 Sequence one题意:给出n个数字,让你求出非递减序列,且个数<p ( find the first P subsequences 前p个,当时怎么就没get呢)。序列的顺序是和下标有关的,也就是说按下标排序,不能出现重复。思路:dfs(last , now , len ),m...原创 2018-08-05 15:49:34 · 470 阅读 · 0 评论 -
HDU Monkey and Banana
题意:给你n种木块,木块的个数不限,规范木块堆积的规则,底下的木块的长、宽必须都大于上面木块的长宽。现在问你最高能叠的高度解法:这个题没想通是因为,每种木块分成 底、高来看的话,有三种状态( 为什么底可以不用细分?因为底的两边可以互换,相当于一个长方体,转了一下 ,因此底看成整体),那我们需要在一个单位上保存三种状态。那么在找子结构的时候,就需要判断子结构的某状态是可用的,需要很多标记...原创 2018-08-09 17:28:13 · 94 阅读 · 0 评论 -
HDU Humble Numbers
题意:定义Humble Number 为素因子只为 2,3,5,7,求第i个HN思路:递推思维,每一个HN必定是由前面某一个HN乘上2.3.5.7的某一个数得到的,假设希望求第n个HN,DP[N] , 那么我们就要在前N-1个里面找到乘上2.3.5.7中的一个,满足刚好大于DP[n-1] 且最小。我们留标记位one , three , five ,sevent 保证这四个标记为都有...原创 2018-08-09 15:44:39 · 209 阅读 · 0 评论 -
百度之星-1001 调查问卷
链接题意:有m个问题。 n个人分别对m个问题有自己的解法,仅仅有AB两种。(相当于n条长度为m的01序列),在m中任意选取问题,使得序列在相应的位置上的答案不同的序列有至少k对,问选取问题的方案数。解法:状态压缩DP,DP[i][state] 表示 state状态在前i行一共有几对不同。那么状态转移方程为: DP[i][state] = DP[i-1][state] + i-1 ...原创 2018-08-05 09:10:01 · 355 阅读 · 0 评论 -
单调队列&单调栈专题训练(不断更新中~)
练这个专题的原因是被多校赛第三场 Problem A. Ascending Rating 虐了, 看别人博客发现只有一句解释:单调队列的应用 。这才决定要把单调队列单调栈摸熟(感谢多校赛虐我千百遍) 1、单调队列 给出下标为1 -- n 的数组 ,从左到右扫(也可以从右向左), 对于当前元素i , 从队尾不断地把小于a[i]的出队(规则自己定)维护一个从队头到队尾递减的队列...原创 2018-07-31 16:26:28 · 538 阅读 · 0 评论 -
线段树(区间操作+lazy) 很好的模板以及心得体会
参考博客https://blog.csdn.net/neighthorn/article/details/52115830这里只讨论区间处理+lazyacm比赛考察不会出裸的模板,所以必须深刻理解线段树原理,各函数的目的。#include <string.h> #include <algorithm> #include <stdio.h> ...原创 2018-07-27 11:10:47 · 236 阅读 · 0 评论 -
哈希在ACM中题目的应用(不断收集中~)
1、HDU 1496题意:输入abcd ,问满足方程 a*xi^2 + b*xj^2 =-1*( c*xk^2 + d*xt^2) 。 的解 xi(1,2,3,4) -->[-100 , 100]思路:暴力做法就是四重循环, 用哈希,把等号左边的值套入哈希数组, 等号右边进行判断对应的哈希数组值就行,o(n^2);还要注意一点,数组下标不能为负,因此生产下标时统统哈希为 t+10...原创 2018-07-26 16:54:59 · 1546 阅读 · 0 评论 -
HDU-6318 Swaps and Inversions(哈希+逆序数)
http://acm.hdu.edu.cn/showproblem.php?pid=6318求逆序数的方法: a[i] 3 2 1 5 4ind:1 2 3 4 51)树状数组当i=1,查找1 - a[i]有几个存在,即在i之前输入 ,且值小于a[i] ,那么这些数是非逆序数个数。累加最后n*(1+n)/2 - cnt 求得 2)线段树当i= 1时,查找a[i]...原创 2018-07-26 15:17:03 · 917 阅读 · 0 评论 -
字符串类型题目和括号匹配类型题总结(持续更新)
1、匹配方案(卡特兰数)问:长度为n的括号字符串,有多少种匹配方案?令h(0)=1,h(1)=1,catalan数满足递推式:h(n)= h(0)*h(n-1)+h(1)*h(n-2) + … + h(n-1)*h(0) (n>=2)例如:h(2)=h(0)*h(1)+h(1)*h(0)=1*1+1*1=2h(3)=h(0)*h(2)+h(1)*h(1)+h(2)*h(0)=1*2...原创 2018-07-26 13:07:04 · 365 阅读 · 0 评论 -
hdu -6299 Balanced Sequence
Balanced SequenceProblem DescriptionChiaki has n strings s1,s2,…,sn consisting of '(' and ')'. A string of this type is said to be balanced:+ if it is the empty string+ if A and B are balanced,...原创 2018-07-25 17:01:11 · 156 阅读 · 0 评论 -
HDU - Cake(最大公因数的应用)
Problem Description一次生日Party可能有p人或者q人参加,现准备有一个大蛋糕.问最少要将蛋糕切成多少块(每块大小不一定相等),才能使p人或者q人出席的任何一种情况,都能平均将蛋糕分食.Input每行有两个数p和q.Output输出最少要将蛋糕切成多少块.Sample Input2 3Sample Output4Hint将蛋糕...原创 2018-07-24 09:15:32 · 251 阅读 · 0 评论 -
01背包方案数
1、裸的01背包方案数网上各大公司经常出题目:假设现在有1元、2元、5元的纸币各1张,现在需要20块钱,你能给多少种找钱方案,这就可以认为是完全背包问题,即背包容量为20,物品体积分别为1、2、5。解法:让dp[i][j]表示前i种钱里面选出总和为j的方案数,那么dp[i][j] = dp[i-1][j] + dp[i-1][j-v[i]]每次考虑第j个选还是不选的情况。初始化是 dp[0...原创 2019-03-03 21:45:21 · 1096 阅读 · 1 评论