- 博客(51)
- 收藏
- 关注
原创 第5次CCF-3-模板生成系统(字符串的处理)
返回试题列表问题描述试题编号:201509-3试题名称:模板生成系统时间限制:1.0s内存限制:256.0MB问题描述:问题描述 成成最近在搭建一个网站,其中一些页面的部分内容来自数据库中不同的数据记录,但是页面的基本结构是相同的。例如,
2016-08-30 22:44:16 405
原创 codeforces Round #369 (Div. 2) C. Coloring Trees (三维DP)
C. Coloring Treestime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputZS the Coder and Chris
2016-08-30 18:48:06 676
原创 CCF 201512-4 送货(欧拉路径+字典序最小)
问题描述试题编号:201512-4试题名称:送货时间限制:1.0s内存限制:256.0MB问题描述:问题描述 为了增加公司收入,F公司新开设了物流业务。由于F公司在业界的良好口碑,物流业务一开通即受到了消费者的欢迎,物流业务马上遍及了城市的每条街道。然而,F
2016-08-29 15:01:59 1687
原创 欧拉回路(佛罗莱算法)
若图G中存在这样一条路径,使得它恰通过G中每条边一次,则称该路径为欧拉路径。若该路径是一个圈,则称为欧拉(Euler)回路。具有欧拉回路的图称为欧拉图(简称E图)。具有欧拉路径但不具有欧拉回路的图称为半欧拉图。以下判断基于此图的基图连通。无向图存在欧拉回路的充要条件一个无向图存在欧拉回路,当且仅当该图所有顶点度数都为偶数,且该图是连通图。有向图存在欧拉回路的充要条件
2016-08-28 23:17:58 1866
原创 HDU-1258(拓扑排序Kahn算法)
问题概述:有n个比赛队,编号为从1到n,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2(用P1 P2表示)这种,排名时P1在必须在P2之前,现在请你编程序确定排名(答案不止一种,按照队伍从小到大排列)输入样例: 对应输出:
2016-08-26 17:38:52 835
原创 优先队列
/* priority_queue队列: 调用头文件: #include using namespace std; (queue模板需要定义容器类型) 详细用法(部分): priority_queue k; ------ 定义一个有序队列(其顶端元素为最大的那个) priority_queue k
2016-08-26 17:19:30 521
原创 第七次CCF-4-游戏(广搜)
问题描述试题编号:201604-4试题名称:游戏时间限制:1.0s内存限制:256.0MB问题描述:问题描述 小明在玩一个电脑游戏,游戏在一个n×m的方格图上进行,小明控制的角色开始的时候站在第一行第一列,目标是前往第n行第m列。 方格图上有一些方格是
2016-08-26 14:39:12 744
原创 vector数组
/* vector基础容器: 调用头文件: #include using namespace std; (vector模板需要定义容器类型,所以必须要输入using namespace std) 详细用法(部分): vector k; ------ 定义一个queue的变量(定义时已经初始化) 例
2016-08-25 22:36:54 490
原创 汉诺塔问题(+递推公式)
汉诺塔问题是使用递归解决问题的经典范例。 汉诺(Hanoi)塔问题:古代有一个梵塔,塔内有三个座A、B、C,A座上有64个盘子,盘子大小不等,大的在下,小的在上(如图)。有一个和尚想把这64个盘子从A座移到B座,但每次只能允许移动一个盘子,并且在移动过程中,3个座上的盘子始终保持大盘在下,小盘在上。在移动过程中可以利用B座,要求打印移动的步骤。如果只有一个盘子,则不需要利用B座,直接
2016-08-24 18:37:22 17972
原创 C++string类(外加next_permutation函数)
标准C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用。现将具体用法的一部分罗列如下,只起一个抛砖引玉的作用吧,好了,废话少说,直接进入正题吧!要想使用标准C++中string类,必须要包含#include // 注意是,不是,带.h的是C语言中的头文件using std::string;using std::wstring;或us
2016-08-23 23:23:57 1286
原创 NYOJ-矩形嵌套(最长上升子序列变形)
矩形嵌套时间限制:3000 ms | 内存限制:65535 KB难度:4描述有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排成一行,使得除最后一个外,
2016-08-23 17:41:10 353
原创 约瑟夫问题
约瑟夫问题(有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为约瑟夫环。又称“丢手绢问题”.)一般形式编辑约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的顺序是:5,4,6,2,3,1。分析:(1)由于对于每个人只有死和活两种状
2016-08-19 23:44:00 952
原创 单调栈的性质及应用
ZZULI XXX题意:给你一串序列,要你求所有子序列的最小值之和。(n很大,无法暴力)思路:完美的单调栈模板这里简要介绍下单调栈的性质,(其他的都没用)单调栈的维护是 O(n) 级的时间复杂度,因为所有元素只会进入栈一次,并且出栈后再也不会进栈了。单调栈的性质:1.单调栈里的元素具有单调性2.元素加入栈前,会在栈顶端把破坏栈单调性的元素都删除3.使用单调栈可
2016-08-19 11:39:22 2693 2
原创 codeforces-55D-Beautiful numbers(数位DP)
A - Beautiful numbersTime Limit:4000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64uSubmit Status Practice CodeForces 55DDescriptionVolodya is an od
2016-08-16 23:44:03 482
原创 HDU-3652 B-number(数位DP+记忆化搜索)
G - B-numberTime Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit Status Practice HDU 3652DescriptionA wqb-number, or B-number for shor
2016-08-15 23:19:33 551
原创 HDU-2089 不要62(数位DP基础题-两种写法)
本题为数位DP入门题,刚接触感觉一脸懵逼,但是这就是基础题数位DP入门的一个很好的文库:http://wenku.baidu.com/link?url=o3ER_gVCyB0qcKthM-Y8vPtAGZ_u5bzOu_gUCUhPcXC6YfaSDgtBSXNEEvvGvSzyuDE9TULcPNsDrRd9IUtQVHeKUVrnPUjyfWjCly_J7Xq代码如下:
2016-08-15 16:49:01 625
原创 HDU-5839 Special Tetrahedron(纯暴力)
Special TetrahedronTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 395 Accepted Submission(s): 162Problem DescriptionGiven n
2016-08-15 14:38:25 529
原创 HDU-5835 Danganronpa(模拟水题)
DanganronpaTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 379 Accepted Submission(s): 278Problem DescriptionChisa Yukizome w
2016-08-15 12:17:39 732
原创 HDU-5832 A water problem(特殊的取模方法)
A water problemTime Limit: 5000/2500 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 173 Accepted Submission(s): 92Problem DescriptionTwo planets n
2016-08-14 20:10:21 959
原创 codeforces-508C -鬼吹灯(巧妙模拟)
C. Anya and Ghoststime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputAnya loves to watch horror movie
2016-08-13 23:51:56 639
原创 POJ-1236 Network of Schools(强连通+缩点)
A - Network of SchoolsTime Limit:1000MS Memory Limit:10000KB 64bit IO Format:%lld & %lluSubmit Status Practice POJ 1236DescriptionA number of schools are connected to
2016-08-12 19:35:12 533
原创 codeforces 706C-(简单DP)
C. Hard problemtime limit per test 1 secondmemory limit per test 256 megabytesinput standard inputoutput standard outputVasiliy is fond of solving differe
2016-08-12 14:49:32 653
原创 强连通图的‘太监’算法(tarjan)-两种方式
有向图强连通分量的Tarjan算法 [有向图强连通分量]在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图,称为强连通分量(strongly connected components)。下图中,子图{1,2,3,4}为一个强连通分量,因为顶点1
2016-08-11 23:20:21 1216
原创 HDU-5821 多校训练第8场-1001(巧妙模拟)
BallTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 306 Accepted Submission(s): 176Problem DescriptionZZX has a sequence of box
2016-08-11 21:09:56 763
原创 zzuli OJ-1107 小火山的宝藏收藏(dfs+邻接表)
Description 进去宝藏后, 小火山发现宝藏有N个房间,且这n个房间通过N-1道门联通。 每一个房间都有一个价值为Ai的宝藏, 但是每一个房间也都存在一个机关。如果小火山取走了这个房间的宝藏,那么这个房间通往其他房间的门就永远打不开了,也就是说后面的宝藏小火山是得不到了(进入这个房间的门是不会关闭的,小火山还是可以回去的);如果小火山不取这个宝藏,而是去打开
2016-08-10 23:35:23 698
原创 邻接表的建立-两种方式(模板)
/** 构建邻接表模板**/#include#includeint head[100100];//表头,head[i]代表起点是i的边的编号int cnt;//代表边的编号struct s{ int u;//记录边的起点 int v;//记录边的终点 int w;//记录边的权值 int next;//指向上一条边的编号}edge[100010
2016-08-10 23:10:33 4566
原创 轻院OJ-1912 小火山的爱情密码(尺取法)
题解:开两个指针l,r。先让r加到满足条件,然后更新最短区间,然后去掉s[l]的贡献,l++,再次让r加到满足条件。 这样的复杂度是O(n)的,前缀和+二分的O(nlgn)的方法貌似可能会被卡,这题数据比较大。 #include#include#include#include#include#include#inclu
2016-08-10 20:48:53 973
原创 HDU-5818 多校训练(巧妙模拟)
Joint StacksTime Limit: 8000/4000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 437 Accepted Submission(s): 191Problem DescriptionA stack is a da
2016-08-09 21:29:56 622
原创 博弈问题通解(SG函数)
首先定义mex(minimal excludant)运算,这是施加于一个集合的运算,表示最小的不属于这个集合的非负整数。例如mex{0,1,2,4}=3、mex{2,3,5}=0、mex{}=0。对于一个给定的有向无环图,定义关于图的每个顶点的Sprague-Grundy函数g如下:g(x)=mex{ g(y) | y是x的后继 },这里的g(x)即sg[x]例如:取石子问题,有1
2016-08-08 20:29:23 494
原创 HDU 1525 (简单博弈问题)
Euclid's GameTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2907 Accepted Submission(s): 1335Problem DescriptionTwo players,
2016-08-08 18:01:06 1558
原创 最大流(SAP算法)
求最大流有一种经典的算法,就是每次找增广路时用BFS找,保证找到的增广路是弧数最少的,也就是所谓的Edmonds-Karp算法。可以证明的是在使用最短路增广时增广过程不会超过V*E次,每次BFS的时间都是;O(E),所以Edmonds-Karp的时间复杂度就是O(V*E^2)。 如果能让每次寻找增广路的时间复杂度降低下来,那么就能够提高算法效率了,使用距离标号的最短增广
2016-08-08 14:48:37 1654
原创 最小费用最大流(讲解+模板)
问题引入:最小费用最大流问题是经济学和管理学中的一类典型问题。在一个网络中每段路径都有“容量”和“费用”两个限制的条件下,此类问题的研究试图寻找出:流量从A到B,如何选择路径、分配经过路径的流量,可以在流量最大的前提下,达到所用的费用最小的要求。如n辆卡车要运送物品,从A地到B地。由于每条路段都有不同的路费要缴纳,每条路能容纳的车的数量有限制,最小费用最大流问题指如何分配卡
2016-08-07 16:40:02 9994
原创 最长回文字符串(马拉车算法)
Manacher算法算法总结第三弹 manacher算法,前面讲了两个字符串相算法——kmp和拓展kmp,这次来还是来总结一个字符串算法,manacher算法,我习惯叫他 “马拉车”算法。相对于前面介绍的两个算法,Manacher算法的应用范围要狭窄得多,但是它的思想和拓展kmp算法有很多共通支出,所以在这里介绍一下。Manacher算法是查找一个字符串的最长回文子串的线性算法
2016-08-06 17:33:16 2995
原创 费马小定理+逆元(模板)
A - ATime Limit:2000MS Memory Limit:32768KB 64bit IO Format:%lld & %lluSubmit StatusDescriptionGiven n different objects, you want to take k of them. How ma
2016-08-06 14:53:32 1201
原创 HDU-1907 John (简单的尼姆博弈)
JohnTime Limit: 5000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 4277 Accepted Submission(s): 2430Problem DescriptionLittle John is playin
2016-08-06 11:23:26 362
原创 POJ-3281 Dining(最大流)
B - DiningTime Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %lluSubmit Status Practice POJ 3281DescriptionCows are such finicky eaters. Each cow h
2016-08-05 16:10:31 372
原创 网络流(最大流+模板)
一、网络流的基本概念先来看一个实例。现在想将一些物资从S运抵T,必须经过一些中转站。连接中转站的是公路,每条公路都有最大运载量。如下图:每条弧代表一条公路,弧上的数表示该公路的最大运载量。最多能将多少货物从S运抵T?这是一个典型的网络流模型。为了解答此题,我们先了解网络流的有关定义和概念。若有向图G=(V,E)满足下列条件:1、 有且仅有一个顶点S,它的入度为零,即
2016-08-05 14:52:35 1008
转载 尼姆博弈
作者:SimonS链接:http://www.zhihu.com/question/29910524/answer/46075905来源:知乎著作权归作者所有,转载请联系作者获得授权。通常的Nim游戏的定义是这样的:有若干堆石子,每堆石子的数量都是有限的,合法的移动是“选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时所有的石子堆都已经被拿空了,则判负
2016-08-04 21:26:59 607
原创 HDU-5793 A Boring Question(矩阵快速幂)
A Boring QuestionTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 60 Accepted Submission(s): 19Problem DescriptionThere are an
2016-08-04 17:38:29 572
原创 KM算法(汇总+模板)
KM算法是通过给每个顶点一个标号(叫做顶标)来把求最大权匹配的问题转化为求完备匹配的问题的。设顶点Xi的顶标为A[i],顶点Yi的顶标为B [i],顶点Xi与Yj之间的边权为w[i,j]。在算法执行过程中的任一时刻,对于任一条边(i,j),A[i]+B[j]>=w[i,j]始终 成立。KM算法的正确性基于以下定理: 若由二分图中所有满足A[i]+B[j]=w[i,j]的边(i,j)
2016-08-03 23:01:29 1845
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人