自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

drj

本blog现用于贴代码,有意题解者可以去drj的百度空间。

  • 博客(80)
  • 收藏
  • 关注

原创 [noi2008]志愿者招募

#include #include #include #include #include #include #define uns unsigned#define int64 long long#ifdef WIN32#define fmt64 "%I64d"#else#define fmt64 "%lld"#endif#define oo 0x13131313#d

2013-05-06 21:38:14 1136

原创 快速傅里叶变换(FFT)

贴过来做个模板。C为复数类,newArr和at为内存池。void FFT(int n, C *x){ C W = C(cos(2 * M_PI / n), sin(2 * M_PI / n)), w = C(1), *u = newArr(n >> 1), *v = newArr(n >> 1); for (int i = 0; i > 1; ++i

2013-05-04 20:03:38 1280

原创 单纯形法

代码为全幺模矩阵,故用整数。有贪心选取变量减少迭代次数。暂时还不会初始化解,只能裸一裸。以后实现时一定要在草稿纸上计算清楚。zjoi2013 defend 70分 code:#include #include #include #include #include #include #define uns unsigned#define int64 long lo

2013-05-04 15:34:57 2410

原创 hnoi2013

match和walk当场AC,travel不会,所以不贴了~clear:#include #include #include #include #include #include #define uns unsigned#define int64 long long#ifdef WIN32#define fmt64 "%I64d"#else#define fmt6

2013-05-02 14:56:51 1226

原创 wordcraft(陈高远)

#include #include #include #include #include #include #include #include #include #include #ifdef WIN32#define fmt64 "%I64d"#else#define fmt64 "%lld"#endif#define PI M_PI#define oo 0x13

2013-05-01 22:10:15 1293

原创 zjoi2013day1

k大数查询(线段树套主席树):#include #include #include #include #include #include #define REP(i, n) for (i = 0; i < (n); ++i)#define int64 long long#define oo 0x13131313#define maxn 50005#define

2013-05-01 19:29:56 1226

原创 [wc2013]平面图

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define UNS unsigned#define int64 long long#ifdef WIN32#

2013-05-01 18:16:16 1581

原创 [zjoi2008]Risk

原来觉得写得太丑,于是删了,但现在又不会恢复,于是又发了一遍。。。#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #ifdef WIN32#

2013-05-01 18:15:33 1249

原创 数论之神 god of number theory

#include #include #include #include #include #include #include #define uns unsigned#define int64 long long#ifdef WIN32#define fmt64 "%I64d"#else#define fmt64 "%lld"#endif#define oo 0x13

2013-04-29 23:22:01 1141

原创 JZPKIL

#include #include #include #define int64 long long#ifdef WIN32#define fmt64 "%I64d"#else#define fmt64 "%lld"#endif#define M 3010#define P 1000000007LLusing namespace std;double sum;boo

2013-04-26 20:08:19 1218

原创 [wc2013]糖果公园

树上莫队算法:#include #include #include #include #include #include typedef long long int64;typedef int (*cmp_t) (const void *, const void *);#ifdef WIN32#define fmt64 "%I64d"#else#define fmt6

2013-04-13 14:25:54 2455

原创 [ctsc2012] cheat

#include #include #include #include #include #include #include #include #include #include #ifdef WIN32#define fmt64 "%I64d"#else#define fmt64 "%lld"#endif#define oo 0x13131313using n

2013-03-23 22:46:13 807

原创 上下界的网络流

对于一条边,考虑分离下界流量和可行流,则应从起点将下界流出,而从终点再将下界流入,其本身容量量应为其上界减下界所得容量,即可行流。因此可以新建超级源汇,分别对每一条边的起点和终点连出如上所述的边。考虑一个点不用多次连边,故可以合并,即统计每个点分离的下界流量(出或入),再统一连边。对于原源汇,为了使其满足流量平衡条件,应从汇向源连一条容量为无穷大的边。最后求出超级源汇的最大流,若代表下界的边满

2013-03-12 19:35:45 1189 2

原创 陈淙靓是个农民!

ccl是个农民!ccl是个农民!ccl是个农民!ccl是个农民!ccl是个农民!ccl是个农民!ccl是个农民!

2013-03-10 14:23:13 2010 1

原创 贴一个划分树套主席树

题目大意:给一个每行每列有且只有一个元素的矩阵,每次询问(l, r, a, b, k),意义为第l到r行中元素的位置排名第a到b中元素的第k大值。一开始yy了一个分块,由于询问有50w级别,被卡到30s才出解。。。此题要在区间ath,bth上再维护一个k大值,因此目测只有O(logn)的区间kth才可以过。。。众所周知,静态区间kth能达到O(logn)per operation的有主

2013-03-07 20:10:17 1471

原创 [The 2011 ACM-ICPC ACRC]G.GRE Words

补充一下:这个东西貌似叫做fail树,也叫后缀指针树,是自动机很重要的东西。题意:给定一张包含 N 个单词的表,每个单词有个价值 W。要求从中选出一个子序列使得其中的每个单词是后一个单词的子串,最大化子序列中 W 的和。显然有f[i] = max(f[j] + w[i]), j 将方程化为f[i] = max(f[j] + w[i]), j > i 且串i包含于串j。接着可以考虑用线段

2013-03-04 15:51:45 784 2

原创 两侧覆盖问题解

线段树 + 生成树染色,标准O(nlogn),再也不用担心会被卡了。。。#include #include #include #include /*#include #include #include #include #include #include #include #include */#include using namespace std;#ifd

2013-02-25 13:22:18 1002 2

原创 [bzoj1488][hnoi2009]同构图

题意:求n个点的图的本质不同的方案数。首先考虑n个点有n!种置换,而由点置换引起的边置换是一一对应的。然后对于点置换,易有循环节完全相等的置换相互等价,而其方案数为n的整数拆分,对于数据范围可以接受。对于每一类等价置换,首先考虑循环节的位置,有n!/Πi=1 to m l[i]!种方案,其中m为循环节数,l为循环节长度。然后考虑对于每一个循环节本身可以有的方案数,在

2013-02-18 23:10:08 1382 1

原创 [bzoj2820] yy的gcd

题意:给定整数N,求11 lhc的优化暴力暂不予讨论。推导如下:首先对于 1 <= x <= N, 1 <= y 令f(k) 表示上述范围内满足 gcd(i, j) = tk 的方案数(t为任意正整数),令min为min(N, M), n表示不超过min的最大元素的下标,易有f(k) = (N div k) * (M div

2013-02-14 23:58:53 1502 1

原创 bzoj上用python注意

先顺便说一句,个人感觉c++:java:python 大概是1:5:8的速度比吧。。。不想写高精,一开始用java偷懒了一道水题,后来题目复杂了又觉得写java太麻烦了。。。再用python偷懒,结果交上去却一下子wa了。。。一开始怎么也找不到原因。。。后来发现bzoj上貌似除了math模块其余的都不能用啊。。。果断删掉4个import,A了。。。然后欣喜地以为可以随意用python刷

2013-02-13 20:34:27 1085

原创 [sdoi2010]古代猪文

写这道题首先srO qw。。。。题目就不贴了。。。大意:求 (G^(Σd|n C(n, d))) mod M。首先发现模是一个质数,所以根据费马小定理可知指数只需模模减一即可。然后又发现模减一太大,而且不是质数。。。然后发现质因子分解后都是比较小的数字。。果断中国剩余定理合并啊。。。然后记得lyp讲过什么n的正约数个数均摊是O(logn)级的。。。果断暴枚约数啊。。。然后是组合数取

2013-02-12 10:41:29 1600 1

原创 一些离散化的题目

这几天做了一些离散化的题目。。。话说这些题目一般都是先排序再建个线段树或者树状数组,或者直接拿平衡树维护一下,有时可以直接用上map或者set什么的。。。而且很多都和几何有关。。。对于坐标的离散化很常见,一般有线段树套平衡树啊什么的。。。还有个hnoi2012的triangle吧,我实在想不出什么复杂度靠谱的稳定算法,于是用了两个平衡树搞了一下,竟然A了。。。就是这样。。。然后有了

2013-02-08 18:20:56 1178

原创 wc 酱油游记

到成都打了一个星期酱油滚粗回来了。。。觉得好像不怎么好玩。。。首先吐槽一下川菜。。。什么东西嘛,说辣不辣的,还附带各种奇葩的酸酸甜甜。。。表面上看起来一层红油,吃完全火锅都没感觉到什么辣味。。。还时不时咬爆几个花椒,痛不欲生。。。真心悲剧。。。然后吐槽每天 6:30 叫门的物业。。。白天都那么那么累了,还不让人睡个好觉,真是没人性啊。。。cwx 的帽子萌翻全场。。。顺便膜拜一下抽奖抽到

2013-02-01 20:08:59 713 2

原创 划分树

果断来更新一下。。。划分树是神级数据结构啊。。。我前面黑的是因为原来脑残。。。划分树的区间连续性可以让他再套树来做更多复杂的维护。。。这篇文章有些酱油。。。首先我觉得划分树是一种很搞笑的数据结构:静态意味着不能修改,被树套树完爆,功能也不如主席树等强大,只是在求解区间 k 大值上有一个很优秀的 O(logn) per operation。。。。构造的时间空间复杂度都是 O(nl

2013-01-21 21:28:15 599

原创 ”C++果然还是有一个模板写起来要舒服点"

#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;#ifdef WIN32#define fmt64 "%I64d"#else#define

2013-01-14 21:22:25 1010 3

原创 [SHOI2008]cactus仙人掌图 (tarjan + dp)

Description如果某个无向连通图的任意一条边至多只出现在一条简单回路(simple cycle)里,我们就称这张图为仙人图(cactus)。所谓简单回路就是指在图上不重复经过任何一个顶点的回路。 举例来说,上面的第一个例子是一张仙人图,而第二个不是——注意到它有三条简单回路:(4,3,2,1,6,5,4)、(7,8,9,10,2,3,7)以及(4,3,7,8,9,10,2,1,6,5,

2013-01-06 20:35:45 1771 2

原创 spoj qtree4 边分治

题目大意:树上白点最长距离。。。修改点颜色。。。大致做法就是边分治,边的两边维护最长距离记子边答案,一路更新,一次操作 O(logn * logn) (堆和树高)。。。写一写这种题真心锻炼代码能力。。。各种大常数不然调试不能。。。lyp 把 kAc 卡成 WA30 的神级数据都可以过,但是始终交不过 spoj。。。期待有更新。。。#include #include #inc

2013-01-04 19:38:10 1999

原创 [ZJOI2008]树的统计Count

第一道 query on a tree 类的题目,帖个代码吧。LCT 果断被虐爆了。。。不知多少版去了。。。#include #include #include #include using namespace std;#include #define maxn 30005#define not_root(p) (p->f != null && (p == p->f->c

2012-12-31 09:45:13 1156 1

原创 [JSOI2008]魔兽地图DotR tree_dp

DescriptionDotR (Defense of the Robots) Allstars是一个风靡全球的魔兽地图,他的规则简单与同样流行的地图DotA (Defense of the Ancients) Allstars。DotR里面的英雄只有一个属性——力量。他们需要购买装备来提升自己的力量值,每件装备都可以使佩戴它的英雄的力量值提高固定的点数,所以英雄的力量值等于它购买的所有装备的

2012-12-27 15:53:14 2080 3

原创 OI 用 Emacs 配置文件

更新:如果 windows 下用 emacs 为了用 g++,参照 windows下配置gcc/g++/gdb + emacs编译环境 中所说的修改系统路径即可。好不容易学会的。。。以后不定期更新~~~为了增强可读性,我有做注释。。。(set-background-color "gray19") (set-foreground-color "wheat") (set-c

2012-12-14 21:27:24 1607 4

原创 [HNOI2008]明明的烦恼 树的 prufer 编码

Description自从明明学了树的结构,就对奇怪的树产生了兴趣...... 给出标号为1到N的点,以及某些点最终的度数,允许在任意两点间连线,可产生多少棵度数满足要求的树?Input第一行为N(0 < N < = 1000),接下来N行,第i+1行给出第i个节点的度数Di,如果对度数不要求,则输入-1Output一个整数,表示不同的满足要求的树的个数,无解输出0这道题如果知

2012-12-13 15:25:58 853 2

原创 [计算几何][SHOI2008]安全的航线flight

Description在设计航线的时候,安全是一个很重要的问题。首先,最重要的是应采取一切措施确保飞行不会发生任何事故,但同时也需要做好最坏的打算,一旦事故发生,就要确保乘客有尽量高的生还几率。当飞机迫降到海上的时候,最近的陆地就是一个关键的因素。航线中最危险的地方就是距离最近的陆地最远的地方,我们称这种点为这条航线“孤地点”。孤地点到最近陆地的距离被称为“孤地距离”。作为航空公司的高级顾问,

2012-12-11 13:11:34 1752 3

原创 POJ 2155 二维线段树(压位水过)

题目就不贴了。0 - 1 矩阵,修改 + 询问。看 ccl 写了一个二维线段树,好像时间被暴虐了 (1100 ms 吧)。。。于是无聊写了一下。。。看到 0 - 1 矩阵,马上想到压位。。。然后对于每一位建树状数组。。。相当于分块树状数组了。。。然后用树状数组做差分前缀和。。。每次都是 O(lgn) 的。。。相当于我的回答是 O(lgn) 的,而修改是 O(n * lgn * 10

2012-12-07 22:49:52 1192 4

原创 [HNOI 2008] 神奇的国度 kingdom

K国是一个热衷三角形的国度,连人的交往也只喜欢三角原则.他们认为三角关系:即AB相互认识,BC相互认识,CA相互认识,是简洁高效的.为了巩固三角关系,K国禁止四边关系,五边关系等等的存在.所谓N边关系,是指N个人 A1A2...An之间仅存在N对认识关系:(A1A2)(A2A3)...(AnA1),而没有其它认识关系.比如四边关系指ABCD四个人 AB,BC,CD,DA相互认识,而AC,BD不认识

2012-11-28 21:00:36 1042 1

原创 srO qw

膜拜qw!

2012-11-24 15:36:43 808 3

原创 [HNOI 2012] 射箭 archery

射箭(程序文件名:archery.exe)100 分,运行时限:1s沫沫最近在玩一个二维的射箭游戏,如下图 1 所示,这个游戏中的 x 轴在地面,第一象限中有一些竖直线段作为靶子,任意两个靶子都没有公共部分,也不会接触坐标轴。沫沫控制一个位于(0,0)的弓箭手,可以朝 0 至 90°中的任意角度(不包括 0°和 90°),以任意大小的力量射出带有穿透能力的光之箭。由于游戏中没有空气阻力,并且光

2012-11-24 15:30:55 1032 2

原创 后缀数组模板

更新易错点:cmp 忘记代数组y参数忘记清空num退出条件 m >= n更新模板:int xx[maxn], yy[maxn];int z[maxn], num[maxn];int sa[maxn], rank[maxn];bool cmp(int *a, int i, int j, int k) {return a[i] == a[j] && a[i+k] ==

2012-11-22 16:35:15 865 3

原创 [NOI 2003] 文本编辑器 editor

文本编辑器【问题描述】很久很久以前,DOS3.x 的程序员们开始对 EDLIN 感到厌倦。于是,人们开始纷纷改用自己写的文本编辑器......多年之后,出于偶然的机会,小明找到了当时的一个编辑软件。进行了一些简单的测试后,小明惊奇地发现:那个软件每秒能够进行上万次编辑操作(当然,你不能手工进行这样的测试)!于是,小明废寝忘食地想做一个同样的东西出来。你能帮助他吗?为了明确任务目标,小明对

2012-11-22 13:10:22 1654 1

原创 [状态压缩 dp] [CEOI 2002] Bugs Integrated, Inc.

DescriptionBugs 公司是一个生产芯片的公司。他们在生产 6T 的 Q-RAM 芯片。每个芯片包含 6 个单位正方形,形成一个 2*3 的矩形。现在有一块一个 n*m 的矩形单晶硅,上面所有的格子都被测试过,坏的标记为黑色。最后,这块 n*m 的单晶硅要切出许多 2*3 的芯片。当然,任意一个芯片不能包括坏的格子。有可能不存在一种切法使得所有的好的格子都是芯片的一部分。公司想要尽量少

2012-11-15 20:44:38 917

原创 对比标准二叉堆 左偏树 和 std :: priority_queue

今天我没事做就对比了一下这三种数据结构,结果高下立见。首先是二叉堆:无比稳定,无论是从高优先级插入,还是从低优先级插入,效率都完虐后两者五倍左右,而低优先级插入稍稍快一些。再者是左偏树:经过测试我发现一个很有趣的地方:如果从低优先级插入,则效率不是很高;而高优先级插入的话,效率甚至可以超过二叉堆。其实这很好理解是为什么:因为左偏树是从根到叶子合并的,而二叉堆是从叶子到根合并的(void

2012-11-15 13:35:45 919 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除