上一页 1 2 3 4 5 6 7 8 ··· 18 下一页
摘要: 首先声明以下内容只是散乱笔记,如果有误还望大侠指出!不胜感激! 基本数据类型: 大体和C语言类似; boolean truth = true;//逻辑型//文字型char c;String str;//整数类型byte one; //8位 -128~127short two; //16位 ... 阅读全文
posted @ 2017-02-02 16:04 see_you_later 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 总结:能这么DP就这么写! 多练位运算标记。 #includeusing namespace::std;const int N=55;const int INF=0x3f3f3f3f;int n, m, dp[N][2][2][2];char s[N][N];bool isdigit(char ... 阅读全文
posted @ 2017-02-02 01:43 see_you_later 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 题意: n个点m条有向边,每个点有一头牛,每头牛会沿着各自的最短路先到x点,然后又从x点到各自的点,求这些牛中间最短路程最大的牛。 思路: 从x点到各点的最短路不用说了,裸的最短路; 但是从所有点到x的最短路,那不就是路线反一下,然后求x到所有点的最短路么? //#include#includ... 阅读全文
posted @ 2017-02-02 01:35 see_you_later 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 题意: 实现10进制数转换成-2进制数 思路: 有点意思,先扯些题外话,一个我们经常做的二进制:利用二进制有好多优化,大多都是利用了二进制能够表示一个数,然后优化了空间或者时间。 所以问题很清楚啊,就是一个10进制数被二进制数表示,再明白一点就是被2^0,2^1,2^2...2^n这些数组成,那... 阅读全文
posted @ 2017-02-02 01:16 see_you_later 阅读(179) 评论(0) 推荐(0) 编辑
摘要: ST算法Code: //#include#include#include#include#include#include#includeusing namespace std;typedef long long LL;const int N=5e4+10;int n,q;int a[N];int... 阅读全文
posted @ 2017-01-23 20:19 see_you_later 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 力争补完所有 Multi-University 的“水题”,任重而道远。 HDU2819【二分匹配与矩阵性质】 HDU2844【背包问题(二进制优化)】 HDU2824【欧拉函数】 HDU3038【种类并查集】 HDU2896【AC自动机】 HDU2852【树状数组求第k大数】 HDU2846【... 阅读全文
posted @ 2017-01-23 17:18 see_you_later 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 题意: 有P门课,N个学生,给出每门课上的人。 然后问你能不能使得每门课有一个课代表 思路: 课和学生是两类,且同类之间没有关系,构成二分图;直接就是一个最大匹配问题; 注意点: 1.是给课进行匹配不是学生 2.比如二分图有A,B两类,A与B允许编号相同,但是如果A中的点到B中的点建边, 这个意... 阅读全文
posted @ 2017-01-19 19:50 see_you_later 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 题意: 给你一幅图,给你一个起点,然后问你存不存在一个时刻,所有点可以在那个时刻到达。 思路: 这幅图首先是联通的; 如果出现奇数环,则满足在某一时刻都可能到达; 然后判断奇数环用二分图性质搞也是神奇... #includeusing namespace std;#includeusing n... 阅读全文
posted @ 2017-01-18 23:34 see_you_later 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 套模板很好的题? #includeusing namespace std; const int N=2e2+10;const int M=4e4+10;struct asd{ int to; int next;};asd q[M];int head[M],tol;int n,m;int col[... 阅读全文
posted @ 2017-01-18 21:13 see_you_later 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出f(n,m)(musing namespace std;typedef long long LL;int main(){ int T; scanf("%d",&T); while(T--) { LL n; scanf("%lld... 阅读全文
posted @ 2017-01-18 20:04 see_you_later 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 背景: 新年回家,又到了一年一度大龄剩男剩女的相亲时间。Nettle去姑姑家玩的时候看到了一张姑姑写的相亲情况表,上面都是姑姑介绍相亲的剩男剩女们。每行有2个名字,表示这两个人有一场相亲。由于姑姑年龄比较大了记性不是太好,加上相亲的人很多,所以姑姑一时也想不起来其中有些人的性别。因此她拜托我检查... 阅读全文
posted @ 2017-01-18 10:36 see_you_later 阅读(141) 评论(0) 推荐(0) 编辑
摘要: %%%%%%%%%%%%%%%岐爷 这一发从来没写过这么旺盛的背包问题。。。 想法很多,但是好难执行。 题意: 有N种饼干,1-N 每种最多想买Ki个,ki等于0的话没有上界 对于第i种饼干的权值是Ei 第i种饼干的价格Pi 有D钱。 还有G组 每组只能选一种。 思路: 有两种背包,一种是在一... 阅读全文
posted @ 2017-01-17 22:09 see_you_later 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 每天取最远的那面 int main(){ init(); int n,x,y; while(~scanf("%d%d%d",&n,&x,&y)) printf("%d\n",n-1); return 0;} 阅读全文
posted @ 2017-01-17 16:58 see_you_later 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 题意: 给你一幅图,要你找一个hotel能够满足出去回来,而且保证权值最小; 思路: 可以搜环,然后取最小权值环,拿个点; floyd方便,初始话自己到自己就是无穷,然后就枚举一下给出的hotel就好了 #includeusing namespace std;const int N=1e2+10... 阅读全文
posted @ 2017-01-17 16:54 see_you_later 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 题意: 从上往下切割,不能切边缘,然后问你两个差值,要小于给出的值。 思路: 直接爆搜,枚举每一行的劈开位置; #includeusing namespace std;const int N=1e2+10;const int INF=0x3f3f3f3f;int n,m;int sum[N][N... 阅读全文
posted @ 2017-01-17 16:49 see_you_later 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 题意: 有n个人,有一种关系叫做8g关系,给出m个关系,给出n个人的阵列 问你最多能拿走多少人,拿走以后相邻就是相邻了 思路: 典型的区间dp; dp[i][j] 代表 i-j 最多能去多少人; 如果第i个人能和第j个人有关系而且中间[i+1,j-1]也能全部取走,那么直接dp[i][j]=... 阅读全文
posted @ 2017-01-17 16:40 see_you_later 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 1.冒泡排序听名字还挺可爱的,冒泡(●’◡’●)。 为啥叫冒泡呢?算法原理是:对N个元素进行排序,进行N-1次循环。 在对第K次循环中,对前N-K个元素从前往后进行比较,每次比较相邻的两个元素,若前一个元素大于后一个元素,就交换,否则保持位置不变(就是实现了把前N-K个中最大放到了... 阅读全文
posted @ 2017-01-11 22:23 see_you_later 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 插入排序对象:一条杂乱无章的数组 实现:从小到大。 在说希尔排序之前,先说说简单插入排序:1.简单插入排序:简单插入排序的核心思想:把一条这么个难看的序列默认分为两个排好序的和未排好序的两个部分;所以一开始排好序的只有一个a[0](好看的只有一个),难看的有N(数组长度)-1个a[... 阅读全文
posted @ 2017-01-11 22:03 see_you_later 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 因为写不出hdu3401...好像要用单调队列优化...这边水了一个... 题意: 给n个房子涂色,给出n个房子对应颜色的花费,问涂完所有颜色花费最少。 保证相邻房子颜色不能相同。 思路: dp[i][j] 表前i个房子,第i个房子是j颜色的最少花费; #includeusing namesp... 阅读全文
posted @ 2016-12-27 22:39 see_you_later 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 题意: 有6种不同价值的物品,然后问你能不能分成两半使得两堆价值相等; 思路: 一共有20000*6=120000 多的价值, 总共背包有20000个,价值最大是120000,看看能不能DP到value/2就好了,所以DP数组可以开60000; 价值乘以背包数,复杂度好大? 我们知道一个数的组成... 阅读全文
posted @ 2016-12-26 16:55 see_you_later 阅读(142) 评论(0) 推荐(0) 编辑
摘要: BC 两道其实都是水 没有完整地想好直接就码出事情。wa了一次以后要找bug,找完要把思路理的非常清楚 SPOJ PHT【二分】 #includeusing namespace std;int main(){ long long n; int T,CAS=1; scanf("... 阅读全文
posted @ 2016-12-25 00:08 see_you_later 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 蛤蛤,略蠢。 priority_queue 自定义优先级 和排序是反的 struct node{ int x,y; friend bool operatorb.x) return 1; return 0; }};priority_queue... 阅读全文
posted @ 2016-12-24 15:36 see_you_later 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 题意: 有n个人,X个任务A,Y个任务B, 给出每个人做A做B的时间,一个人只能在某个时刻做一个工作, 问最短时间完成所有工作。 思路: 二分n个人用的时间,判断最优条件用DP。 可以二分就是因为时间越多的话肯定能做更多的task啊。 真的好神奇!n个人可以同一时间一起做事,那么对于给定的时间... 阅读全文
posted @ 2016-12-23 23:26 see_you_later 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 常用的处理冲突的方法:开放定址法,分离链接法。 因为是期末复习(●ˇ∀ˇ●),浅浅地记个开放定址法的线性探测法和平方探测法; 例: 设关键字序列{47,7,29,11,9,84,54,20,30},散列表表长TableSize=13,散列函数为:h(key)=key mod 11。 萌新瞎补: ... 阅读全文
posted @ 2016-12-22 22:57 see_you_later 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 题意: 给你n个任务,每个任务有一个起始时间,持续时间,一个权值; 问你怎么分配得到最大值 思路: 数据好大。。百度了一发意识到自己好菜啊!背包的特性。 dp[i]代表前 i 个能构成的最大值。 对于每个任务看成一个背包,背包取的点是固定的 背包取的话肯定是离他开始时间最近的那个点,dp[i]=... 阅读全文
posted @ 2016-12-22 22:06 see_you_later 阅读(192) 评论(0) 推荐(0) 编辑
摘要: FST的时候好像挂了挺多人的~ 其实思路没啥难的,就是更好地理解题意吧,1到n一直循环,直到没有人能vote,一个人能vote也能叉掉一个人,一个人被叉就不能vote,判谁赢。 其实我管vote干嘛,我管好互叉就好了啊,直到局势一边倒,也就是不能叉了,谁多谁赢,这样肯定是要么D多R多,复杂度不大... 阅读全文
posted @ 2016-12-21 18:44 see_you_later 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 思路: dp[i][0] 代表取的时候左边没有 dp[i][1] 代表取的时候右边没有 dp[i][2] 代表取的时候左右都没有 dp[i][3] 代表取的时候左右都有 然后自己转移吧= =、 注意两个区间端点: 如果旁边有取a[i], 如果没有取b[i]。 只有一个的时候取a[i... 阅读全文
posted @ 2016-12-21 18:17 see_you_later 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题意: 给你m个数,让你在里面挑n个组合,保证位数相差不超过2,求能够组合多少种情况; 思路: dp[i][j]代表第i个结尾为j的方案数。 #includeusing namespace std;typedef long long LL;int dp[15][15];bool vis[15];... 阅读全文
posted @ 2016-12-19 18:01 see_you_later 阅读(507) 评论(0) 推荐(0) 编辑
摘要: 题意: 给你一幅图,然后有几个特殊点 和不特殊点,给你一些已经连了的边,在保证特殊点不能连的前提下,问最多还能添几条边,双向边 思路: 简单题,就是一个特殊点就是一个集合,然后搜一下,最后把还有没连的点连到集合元素最多的上去,然后把所有边都算出来,减去已经连的边就好了 #includeusin... 阅读全文
posted @ 2016-12-18 13:54 see_you_later 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 有种喝了点假酒有点醉的感觉。。 希望大家都保持自己的真实!!!这是上大学以来最大的感受了吧,比如我吧,小时候看到个乞丐在路边就会伤心快哭出来,学校里看到的垃圾会捡起来扔到垃圾桶里,从来不乱扔垃圾,这是对于事。对于人,从来没有小心眼,乐于分享,分享自己的快乐,分享自己的吃的,特别反感父母在耳边说人... 阅读全文
posted @ 2016-12-18 02:55 see_you_later 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 思路: 用vector存一下各种颜色的区间,每次处理颜色的区间,相同颜色不需要更新。区间最多1e6个没错,但是随着颜色的更替区间只会越来越少。 维护区间左右两端的颜色,lazy一下。 区间合并的时候 sum= sum_left + sum_right , 如果左儿子的区间右边和右儿子的区间左边颜... 阅读全文
posted @ 2016-12-18 00:10 see_you_later 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题意: 给你一棵以1为root的根,然后让你求两棵不相交子树的最大和; 思路: DFS,主要就是你一定得使两棵子树不相交; 对于一个顶点u,维护以u为根的最大子树和。 ①:包含u,即所有的结点和。 ②:不包含,在子树内找一个最大子树。 每次对于一个根搞搞就好了,维护一下答案; 这个DFS真的赞。... 阅读全文
posted @ 2016-12-15 17:52 see_you_later 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 题意: 给你n天分别要穿的衣服种类,可以套着穿, 一旦脱下来就不能再穿,求n天至少要几件。 思路: 区间DP dp[i][j]代表i到j需要至少几件衣服 第i天的衣服在第i天穿上了,dp[i][j]=dp[i+1][j]+1, 枚举区间(i,j],如果有第k天的衣服=第i天的,考虑第i件衣服在... 阅读全文
posted @ 2016-12-14 20:27 see_you_later 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 题意: 给你 n 个背包,然后给你两个数,D,M,问你从n个里面挑M个出来,有多少种方法能够整除D; 思路: 试想我先不挑M个出来的话,仅仅是构造一个D的倍数,其实就是构造一个数的话, 其实就是个递推,然后方案的叠加 挑M个,D的倍数。 能对M个状压; 但是对于D的倍数呢? 其实就是取膜... 阅读全文
posted @ 2016-12-13 16:47 see_you_later 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 题意: 把n个人分成两部分,要你怎么分使得两部分尽可能相等; 思路: 如果我们把一部分人的重量达到离sum/2最近,那就一定行啊 其实就是一条棒,两种不同的棒去拼接成一条棒,然后最好就是离mid最近,一定会得到这个值啊。 然后搞出这个值,mid-x就是他们的最小差值。不就是一个0/1背包取或不取... 阅读全文
posted @ 2016-12-12 18:52 see_you_later 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 线性表的定义: “线性表”(Linear List)是有同一类是类型的数据元素构成的有序的线性结构。 线性表的顺序存储实现: 线性表的顺序存储是指在内存中地址连续的一块空间顺序存放线性表的各元素。(萌新怒插:这不就是数组嘛???需要说的那么麻烦么???哦。) 一维数组在内存中占用的空间就是一组连... 阅读全文
posted @ 2016-12-12 16:36 see_you_later 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 题意: 有一个k面的骰子,然后问你n个骰子朝上的面数字之和=s的方案; 思路: dp[i][j] 代表 前 i 个骰子组成 j 有多少种方案; 显然 dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j - 2] + ... + dp[i - 1][j - k]; ... 阅读全文
posted @ 2016-12-11 21:50 see_you_later 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 题意就是一个串在另一个串出现几次,但是字符不能重复匹配, 比如aaaaaaa aaaa的答案是1 思路: 本来写了个暴力过的,然后觉得KMP改改就好了,就让队友打了一个; #include using namespace std;typedef long long LL;const int M... 阅读全文
posted @ 2016-12-11 21:46 see_you_later 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 刚好顺应boss的要求,鶸写篇总结吧,最近又是因为期末了,好怠惰啊; 看了看9月的博客,延续了暑假定下的plan开始狂刷(其实也才刷了一点)了51nod,然后搞懂摸熟了各种线段树,树状数组的离散化和码力也提高了,学了KM(其实很快就学会了。。。),和wonter巨巨一起打了几场CF和ATcode... 阅读全文
posted @ 2016-12-09 00:08 see_you_later 阅读(1107) 评论(0) 推荐(1) 编辑
摘要: 题意: 给你每种字符匹配的权值大小,给你两个串,长度小的串可以在小串里面添加空格和大串匹配,问你一个最大匹配权值。 思路: 有点类似于LCS吧,我们在求两个串的LCS的时候,不行的就扔掉了,在这里就是不行的就给他匹配了一个空格; dp[i][j-1] j匹配空格; dp[i-... 阅读全文
posted @ 2016-12-08 23:06 see_you_later 阅读(219) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 18 下一页