摘要:
题目链接:https://vjudge.net/contest/146667#problem/C 题意:动态的求一个区间的最大连续和。 分析: 看上去可以RMQ去做,但是,当分成两个部分,原来的部分的解可能是跨越这两个区间的。原问题的解不能通过RMQ分成的两个部分的解而得到。 线段树: 线段树很早之 阅读全文
摘要:
RMQ: 有一个不变的数组,不停的求一个区间的最小值。 使用倍增的思想优化到logN; d(i,j) 表示从 i 开始的,长度为2j的一段元素中的最小值。 那么状态转移方程: d(i,j) = min{ d(i,j-1) , d(i+2j-1,j-1) } 题目链接:https://vjudge.n 阅读全文
摘要:
利用了二进制,二分的思想的一个很巧妙的数据结构,一个lowbit(x):二进制表示下的最右边的一个1开始对应的数值。 那么如果一个节点的为x左孩子,父亲节点就是 x + lowbit(x),如果是右孩子,父亲节点是 x-lowbit(x); 图中白条部分就是辅助数组C对应的最底下的和。 1、那么一个 阅读全文
摘要:
(⊙o⊙),今天和爸妈一起买电视机去了,很interesting,早上看的东西应该还没忘掉 (^-^)V 枚举集合: 一般都用的二进制思想,& | ^ 就分别对应的是 交,并,对称差。枚举每一个子集,就是一个简单的循环变量 i ,而 i 怎么提取每一个元素,就是 s & (1<<i) ,循环遍历。 阅读全文
摘要:
题目链接:https://vjudge.net/contest/147561#problem/A 题意:除法运算,abcde / fghij = n,从小到大输出,其中abcdefghij为0~9的不重复数字。 分析: 1、从小到大其实就是一大就跟着大。 2、不用枚举0~9的全排列,只用枚举其中一个 阅读全文
摘要:
要考试了,做几个简单题复习一下数据结构。 栈的应用:http://noi.openjudge.cn/ch0303/1696/ (注意题目描叙是有问题的,应该是波兰表达式) 1696:逆波兰表达式 1696:逆波兰表达式 总时间限制: 1000ms 内存限制: 65536kB描述逆波兰表达式是一种把运 阅读全文
摘要:
题目链接:http://noi.openjudge.cn/ch0405/6047/ 和Uva1629很类似,不过,可能用记忆化难写一点,状态初始化懒得搞了。就用循环好了。 状态描叙也可以修改,那个题目是由于有樱桃的坐标,所以用四维,而这个题目只要长宽,和块数就OK了,三维,然后还是死遍历所有情况的切 阅读全文
摘要:
题目链接:https://vjudge.net/contest/146179#problem/D 题意: 信封上最多贴S张邮票。有N个邮票集合,每个集合有不同的面值。问哪个集合的最大连续邮资最大,输出最大连续邮资和集合元素。最大连续邮资是用S张以内邮票面值凑1,2,3...到n+1凑不出来了,最大连 阅读全文
摘要:
题目链接:https://uva.onlinejudge.org/external/16/1630.pdf 题意:折叠串,给一个字符串,相同部分可以折叠,折叠可以嵌套。求最短长度的一种折叠方法。括号和数字的长度也要考虑进去。 刚看到这个题目,没有一点思路,还是大牛们厉害! 分析:一个串,可以转成两种 阅读全文
摘要:
题目链接:https://vjudge.net/contest/146179#problem/B 题意:一个矩形蛋糕上有好多个樱桃,现在要做的就是切割最少的距离,切出矩形形状的小蛋糕,让每个蛋糕上都有一个樱桃~问最少切割距离是? 分析:可以根据每次的切割范围遍历找最优值,也就是说状态描述d[u][d 阅读全文
摘要:
老师手把手教了两天半,看了一下模式,加了几个功能就大功告成了!!! 给我的感想就是全都是指针! 添加图片精灵: CCSprite* spBG = CCSprite::create(""); this->addChild(spBG); //添加到当前层 spGB->setPosition(ccp(x, 阅读全文
摘要:
(≧∀≦)ゞ http://www.cnblogs.com/TreeDream/p/6031533.html (线性表的顺序实现) http://www.cnblogs.com/TreeDream/p/6031548.html (不带头的单链表) http://www.cnblogs.com/Tre 阅读全文
摘要:
(╥╯^╰╥) 1 /* 2 请设计直接插入排序算法函数void insertSort(int a[],int n),对a[1]..a[n]进行升序排序。 3 并测试在不同数据规模下的排序效率。 4 */ 5 #include "Arrayio.h" 6 #define N 10000 /*N为数据 阅读全文
摘要:
↖(^ω^)↗ 1 /* 2 3 编写算法函数void preorder1(bintree t)实现二叉树t的非递归前序遍历。 4 5 */ 6 7 #include "bintree.h" 8 char *a="ABC##D#E##F##"; /*扩充二叉树序树t的前序序列*/ 9 10 /*函数 阅读全文
摘要:
n(*≧▽≦*)n 1 /* 2 编写程序输出以邻接表为存储结构的无向图的各顶点的度。 3 */ 4 /**********************************/ 5 /*文件名称:lab8_01.c */ 6 /**********************************/ 7 阅读全文
摘要:
题目链接:https://vjudge.net/contest/144904#problem/A 题意:给定一个有向网络,每条边均有一个容量。问是否存在一个从点1到点N,流量为C的流。如果不存在,是否可以恰好修改一条弧的容量,使得存在这样的流? 分析: 首先找到最大流,如果发现大于等于C,就得到解, 阅读全文
摘要:
ISAP算法对 Dinic算法的改进: 在刘汝佳图论的开头引言里面,就指出了,算法的本身细节优化,是比较复杂的,这些高质量的图论算法是无数优秀算法设计师的智慧结晶。 如果一时半会理解不清楚,也是正常的。但是对于一个优秀的acmer来说,其算法的本身,可以锻炼你的思维。增长见识! 下面是我对 Dini 阅读全文
摘要:
为什么写这篇文章,早在很早之前就有接触图论的知识,多多少少走了很多的弯路。也请教了好多大牛,对于图论,这个重要的知识点,大多是理解的比较含糊不清。有时候,好多人说,图论不就是套模板的事情吗?是的,对于一般的竞赛选手,也只是会套模板。甚至,对于不是做acm竞赛的人来说,这些知识点,我只要知道,传入什么 阅读全文
摘要:
题目链接:https://vjudge.net/contest/144221#problem/B 题意:找一条从 s 到 t 的路,使得瓶颈路最小。 点的数目是10^4,如果向之前的方案求 maxcost数组,O(n*n)时间是过不了的,这个时候,用到了增倍祖先。 关于倍增祖先:http://m.w 阅读全文
摘要:
因为是我的课程设计,要是有冲突就不好了,转载注明出处!!! 程序很简单,毕竟我是搞acm的,我就只介绍一下闪光点。 中心空白搜索的时候,我用的DFS; 有一点是要注意的,就是JFrame不支持重画,还好机智我用的是JPanel,利用这个画板重画游戏区。 API文档之后补上。 package com. 阅读全文
摘要:
最小瓶颈生成树:(给出加权无向图,求一棵生成树,是的最大边权尽量小) 可以从一个空树开始,按照权值从小到大,依次加入各条边,则图第一次连通的时候,改图的最小生成树就是原图的最小瓶颈生成树。 这一过程就是Kruskal,原图的最小生成树就是一棵最小瓶颈生成树。 最小瓶颈路:(u,v,求一条路径从 u 阅读全文
摘要:
题目链接:http://vjudge.net/contest/144221#problem/A 题意: 秦朝有n个城市,需要修建一些道路使得任意两个城市之间都可以连通。道士徐福声称他可以用法术修路,不花钱,也不用劳动力,但只能修一条路,因此需要慎重选择用法术修哪一条路。秦始皇不仅希望其他道路的总长度 阅读全文
摘要:
经典博弈区间DP 题目链接:https://uva.onlinejudge.org/external/108/p10891.pdf 题意: 给定n个数字,A和B可以从这串数字的两端任意选数字,一次只能从一端选取。 并且A B都尽力使自己选择的结果为最大的,可以理解成A B每一步走的都是最优的。 如果 阅读全文
摘要:
题目链接:http://vjudge.net/contest/143428#problem/A 约瑟夫问题原型: 0~n-1 n 个数,从 0 开始,每数 k 个数,删除一个,最后留下来的数是多少。 题意: 1~n 个数,第一次删掉 m ,每隔 k 个数删掉一个,最后留下来的数是多少。 分析: 约瑟 阅读全文
摘要:
这几天学校女生节,挺累的,感觉还是挺好玩的,前几天看了一下最短路,Bellman-fort算法果然比较厉害,今天又参考了刘汝佳的两本书,有了一点新的认识。 废话不说,先上代码: #include <bits/stdc++.h> using namespace std; const int INF = 阅读全文
摘要:
题目链接:http://vjudge.net/contest/143318#problem/B 题意:给定一个有向图,每条边都有一个权值。每次你可以选择一个结点v和一个整数d,把所有以v为终点的边的权值减小d,把所有以v为起点的边的权值增加d,最后让所有边的权值的最小值大于零且尽量大。 分析: 最小 阅读全文
摘要:
题目链接:http://vjudge.net/contest/143318#problem/A 题意: 求平均权值最小的回路。 分析: 平均权值不可能超过最大边,二分查,然后,由于是平均权值,就可以转换一下。 是否存在平均权值 < mid 的回路: w1 + w2 +.. +wk < k*mid ( 阅读全文
摘要:
看来一千个acmer有一千个迪杰斯特拉,Bellman-Ford也是一样。 看了刘汝佳的bellman-ford,简直和spfa一模一样啊!!! 松弛n -1 次还是可以松弛,说明有负环; 刘汝佳写得很有水平,学习了。每个点都有可能从这个点出发找到负环,都入队列,相互间分开,找第一个点,找到负边,入 阅读全文
摘要:
题目链接:http://vjudge.net/contest/143062#problem/C 题意: 给定一个无向图,大写字母是城市,小写字母是村庄,经过城市交过路费为当前货物的%5,路过村庄固定交1,给定起点终点和到目标地点要剩下的货物,问最少要带多少货物上路,并输出路径,如果有多种方案,要求字 阅读全文
摘要:
题目链接:http://vjudge.net/contest/143062#problem/A 题意:一个人要从点1去到点2,中间还有很多点和很多条边。问你如果他每次走的边(a,b)都满足:a点到目标点的最短距离<b点到目标点的最短距离,那么他从点1出发到点2总共有多少条路径。 分析: 从家出发使用 阅读全文
摘要:
题目链接:http://vjudge.net/contest/142615#problem/B 题意:有A,B,C三个人物要分配个N个宇航员,每个宇航员恰好要分配一个任务,设平均年龄为X,只有年龄大于或等于X的宇航员才能分配任务A。只有年龄严格小于X的宇航员才能分配任务B。而任务C没有限制。有M对宇 阅读全文
摘要:
2-SAT: n 个 bool 型变量, 有一些条件,要么 X 成立,要么 Y 成立。 目标: 给每个变量赋值,使得所有条件成立。 拆点: i 变量 为真表示2*i,为假 表示 2*i + 1; 这时,如果有一个条件为 x 成立,y 不成立,就连一条边 2*i —> 2*j + 1; 在这个图上搜索 阅读全文
摘要:
题目链接:http://vjudge.net/contest/142615#problem/A 题意:n架飞机,每架可选择两个着落时间。安排一个着陆时间表,使得着陆间隔的最小值最大。 分析: 最小值最大,采用二分法,时间间隔最大不超过最晚的一个时间,对于每个时间间隔来说,在此间隔要求下,建立 2-S 阅读全文
摘要:
题目链接:http://vjudge.net/contest/142513#problem/A 题意:给出一些字符和各自对应的选择概率,随机选择L次后将得到一个长度为L的随机字符串S.给出K个模版串,计算S不包含任何一个串的概率. 分析: 在构造好的AC自动机里面,每随机生成一个字母,相当于在AC自 阅读全文
摘要:
题目链接:http://vjudge.net/contest/142484#problem/A 这个题目也是2016年CCPC网赛上面的题目,当时我是不会做的,但是大牛们都知道这是一个原题,最后给一队过了,还是大牛们厉害,其实也不是很难。 题意: 给出n个正整数,从中选出1个或者多个,使得选出来的整 阅读全文
摘要:
题目链接:http://vjudge.net/contest/141990#problem/B 题意: 给一张有向图G,求一个结点集数最大的结点集,是的该结点集中任意两个结点 u 和 v,满足: 要么 u 能到达 v,要么 v 能到达 u 或者 u 和 v 可以互达 ; 这个和有向强连通图很像,连通 阅读全文
摘要:
题目链接:http://vjudge.net/contest/141990#overview 题意是告诉你有n个命题,m条递推关系,表示某个命题可以推出另外一个命题。 现在问你至少在增加多少个递推关系可以保证所有命题两两互推。 把命题看成一个结点,推导看成有向边,就是n个结点,m 条有向边,要求添加 阅读全文
摘要:
在同一个DFS树中分离不同的强连通分量SCC; 考虑一个强连通分量C,设第一个被发现的点是 x,希望在 x 访问完时立刻输出 C,这样就可以实现 在同一个DFS树中分离不同的强连通分量了。 问题就转换为判断,一个点是否 是 第一个被发现的点,这样,可以利用之前的 点-双连通分离的数据结构, lowl 阅读全文
摘要:
有向图的强连通分量: 相互可达关系,每一个集合都是有向图的一个强连通分量SCC。 把一个集合看成一个点,SCC就形成了一个有向无环图——DAG; 如果DFS选择不好,从A点开始DFS,就会把整张图遍历一遍。不是同一个SCC就混乱了,我们希望,可以利用SCC的拓扑序列,从后往前DFS,这样,每次都出来 阅读全文