题目描述:给定一个DAG,求出允许移除最多K条边后的字典序最大的拓扑序列。思路:线段树,每次找入度不超过K的最大编号的顶点,将此顶点从图中移除,重复操作n次即可得到结果。吐槽:当时打BC的时候写出了一个直接贪心+拓扑排序的复杂度为O(n)的错误代码(当时还没有意识到是错误代码),交到hdu oj上居...
分类:
其他好文 时间:
2015-04-04 01:05:09
阅读次数:
245
要求在一个DAG中删去不多于k条边,使得拓扑序的字典序最大。
贪心策略:每次删去入度小于res的,序号尽量大的点的入边。
需要用线段树维护区间最小值。
代码:
#include
#include
#include
#include
#include
#include
#include
using namespace std;
const int N = 400000 +10;
const ...
分类:
编程语言 时间:
2015-04-03 09:32:36
阅读次数:
157
/* poj 3617 best cow line
题意为给定长度为N的字符串S,需要构造出长度为N的字符串T,开始的时候T是一个空串
随后只能反复从S的开始或者结尾的地方取一个字符接到T的末尾,要求是根据这个规则
构造出字典序尽可能小的字符串T
算法设计:每次都比较末尾和开头的字符,如果不想等,则选择字典序较小的那个字符
接到T的末尾,这样构造出来的...
分类:
其他好文 时间:
2015-04-02 22:37:59
阅读次数:
181
这道题目麻烦在输出的时候需要按照字典序输出,不过写了 Compare 函数还是比较简单的因为是裸的 Kruscal ,所以就直接上代码了~Source Code ://#pragma comment(linker, "/STACK:16777216") //for c++ Compiler#incl...
分类:
其他好文 时间:
2015-04-02 18:16:07
阅读次数:
192
题目:给你一个字符串,判断他是这些字符组成的全排列中按字典序排序的第几位。
分析:组合数学。康托展开,枚举长度求和即可。
首先,考虑非重集,从前向后扫描,每一位找到前面相同本位小于对应值得串个数;
例如:f(cba)= 2*2!+ 1*1!= 5,对应第6个串;
(c**对应a、b开头的比他小,cb*对应ca开头的比他...
分类:
其他好文 时间:
2015-04-02 10:29:31
阅读次数:
180
包含启动程序start.py和atm.py模块
用户数据通过字典序列化存入userdata.pkl
用户操作记录文件userid.record(为每个用户保存一个记录文件)
商品价格文件goods_list
功能包含:取现存钱转账购物打印清单
其他说明:没有包含管理端程序(用于添加用户账号,商品上下架),密码..
分类:
编程语言 时间:
2015-04-02 06:52:45
阅读次数:
469
一、字典序法1) 从序列P的右端开始向左扫描,直至找到第一个比其右边数字小的数字,即。2) 从右边找出所有比大的数中最小的数字,即。3) 交换与。4) 将右边的序列翻转,即可得到字典序的下一个排列。5) 重复上面的步骤,直至得到字典序最大的排列,即左边数字比右边的大的降序排列。//字典序法void ...
分类:
编程语言 时间:
2015-03-31 14:21:41
阅读次数:
261
题目 H: 擅长排列的小明
时间限制: 20 Sec 内存限制: 128 MB
提交: 21 解决: 17
[提交][状态][论坛]
题目描述
小明十分聪明,而且十分擅长排列计算。比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难他,在这5个数字中选出几个数字让他继续全排列,那么你就错了,他同样的很擅长。现在需要你写一个程序来验证擅长排列的小明到底对不对。
...
分类:
其他好文 时间:
2015-03-31 09:14:15
阅读次数:
137
后缀数组
后缀数组就是把一个文本串的所有后缀按字典序从小到大排放的数组。详细介绍见刘汝佳《算法竞赛训练指南》。
AC自动机可以处理多模板的文本匹配问题,而后缀数组也可以处理多模板的文本匹配问题。那么它们有什么区别呢?
AC自动机需要事先知道所有的模板,然后对于一个(在线输入的)文本串进行多模板匹配,也就是说模板一定要全部事先知道,需要匹配...
分类:
编程语言 时间:
2015-03-31 00:53:25
阅读次数:
208
题目地址:HDU 5195
简直受不了了。。BC第二题都开始线段树+拓扑排序了。。。
这题很容易想到拓扑排序过程中贪心,但是贪心容易TLE,所以需要用数据结构去维护,我用的是线段树维护。每次找入度小于等于k的编号最大的点,这样就可以保证字典序一定是最大的。
代码如下:#include
#include
#include
#inclu...
分类:
编程语言 时间:
2015-03-30 16:26:50
阅读次数:
244