自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

转载 关于生成函数

最近看了组合数学,本来打算写一篇关于生成函数的文章奈何M67大牛已经讲的非常详细了……自认没什么补充……搬运过来,以后忘记的时候看一看转载自http://www.matrix67.com/blog/archives/120PS:看完之后突然觉得对OI没什么作用……PS2:除非是纯组合问题 比如ceoi2004 sweet另外,M67的这篇文章没有讲到指数生成函数

2011-11-29 14:14:30 1061

原创 [Sdoi2008]Cave 洞穴勘测

BZOJ好了以后去交了这题,算是动态树补完题目大意:求一棵树上任意两点的连通性这道题算是真真正正的link-cut tree了,之前的动态树题目都没有涉及link和cut操作所以这道题让我发现了我在写cut过程中的一个错误,也让我更加深刻的体会到了link-cut tree的优美对于修改,link cut即可对于每个询问,看他们是否在同一棵树中c

2011-11-28 19:59:11 1586

原创 关于划分树

从昨天晚上一直到今天,我都在纠结划分树……TMD打错变量害死人……我还一直以为划分树哪里写错了……划分树可以在O(nlogn)的时间内建树(常数巨大……),在logn的时间内求出一个区间内的第k小数(求第k大就改一下建树时的偏序关系)怎么样做呢,HH大牛的blog上有一篇日志的图非常好……此图片转载自http://www.notonlysuccess.com/index.php

2011-11-27 11:28:25 516

原创 NOI2010.Day1.T2.超级钢琴

题目大意:在n个数字中找出k个不相同的长度在l-r之间的连续子序列,使得权值和最大(n昨天膜拜了一下10年的年鉴这道题合法的子序列是非常多的,如果朴素显然是无法做出这道题有一个非常美妙的想法,对于给定的起点,起点的权值已知了,子序列的个数是确定的那么记录一下前缀和s[i],对于给定的起点,实际上就是询问起点所代表的那一段区间的最大权值,这个就是RMQ问题,ST算法可以在

2011-11-25 17:34:30 2863

原创 动态树总结

这一段时间写了蛮多动态树的题,link-cut tree写的我想吐了……bzoj 1036[ZJOI2008]树的统计Countbzoj 2049[Sdoi2008]Cave 洞穴勘测 (因bzoj挂ing,未测)bzoj 2243[SDOI2011]染色ural 1553Caves and Tunnelsspoj  375 qtree Query on a trees

2011-11-25 17:22:06 1190

原创 SPOJ2798. Query on a tree again!

题目大意:两种操作0:对一个点反色(白变黑,黑变白)1:查询这个点到一号点这一条链上离一号点最近的黑点的编号我没话说了……这道题我交了可能有几十次,调了两个多小时,和别人对拍,就是不知道哪里写错了……最后逼得没办法重新写了一遍……AC……蛋疼的SPOJ……#include#define rep(i,a,b) for(int i=a,tt=b;i

2011-11-24 17:38:28 775

原创 SPOJ913. Query on a tree II

题目大意:询问一棵树上两点之间的边权和or第k个点是多少link-cut tree一开始把第k个点看成了第k大的边……吓了我一跳……边权处理方法类似QTREE,再维护一个sum一个size就行了……犯了脑残错误……调了半小时……//Lib#include#include#include#include#include#include#incl

2011-11-24 14:57:28 1318

原创 SPOJ375.QTREE

题目大意:一棵树,每条边有个权值两种操作一个修改每条边权值一个询问两点之间这一条链的最大边权点数多组测试数据,case简单动态树,只是一般Splay维护的是点的信息,这里是边的信息那么有两种做法一种是Splay直接维护边的信息,这种貌似比较难写,据pty说是比较蛋疼还有一种是随便指定一个点作为树根,那么每个点就有相应的深度了,此时将所有的边的边压到它

2011-11-21 19:24:00 2060

原创 关于最长链

昨天晚上突然想到一个问题:对于一个给定的有向图,给定起点,求一条最长链我一开始觉得这个问题比较简单,但是想了半天也不会做,颓然发现它可能比较难……如果这个图是个topo图,那么可以DP或者SPFA来做如果不是呢?也就是说这个图存在环的话呢?如果每条边可以走多次,那么显然最长链不存在否则这个问题有两种版本一种是不允许经过重复的边,可以经过重复的点//2011.12.18修

2011-11-21 13:19:43 1792

原创 Ural1553.Caves and Tunnels

水题一道……动态维护树链上的最大点权,动态树水过……wa了几次……因为没看清楚题……点权的修改是在原来的点权基础之上的……点数过多,不能用DFS建图//Lib#include#include#include#include#include#include#include#include#include#includeusing namespace s

2011-11-19 15:59:00 622

原创 混合图的欧拉回路

混合图是指既有有向边又有无向边的一类图我们一般处理无向边是将它拆成两条有向边,而在求欧拉回路时不能这么做,因为一条边只能经过一次因此用网络流解决这个问题黑书p324讲了两种做法我写的第二种首先将无向边任意定向,将其当做一条有向边,判断这个图是否可能存在欧拉回路(对于每个点,abs(入度-出度)是偶数)接下来构建网络:保留原来的无向边,方向为你定的方向,流量为1对于点

2011-11-19 14:10:03 566

原创 [SDOI2011]染色

给定一棵有n(n2类:1、将节点a到节点b路径上所有点都染成颜色c;2、询问节点a到节点n路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1”。请你写一个程序依次完成这m个操作。维护稍微麻烦一点的动态树,记得每次Splay之前Relax一下,把标记push下来//Lib#include#include#in

2011-11-19 10:47:03 2137

原创 [ZJOI2008]树的统计Count

题目大意:给出一棵树,点上有点权有两种询问,询问两点之间树链上的点权和,询问两点之间树链上最大点权点数最裸的动态树,操作少,维护的值简单//Lib#include#include#include#include#include #include#include#include#include#includeusing namespace

2011-11-18 21:09:30 2043

原创 SGU116

题目大意:在一个由素数组成的数列 2,3,5,7......定义超级素数,数列中的第k项为超级素数当且仅当k也为素数给定n如果n能被超级素数的和所表示输出最少要多少个超级素数,以及这些超级素数否则输出impossible暴力找出超级素数然后多重背包//Lib#include#include#include#include#include

2011-11-17 19:00:40 798

原创 SGU115

给定n,m(n,m模拟即可,n,m有可能不合法#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define rep(i,a,b) for(int i=a;i<=b;i++)#define rrep

2011-11-17 17:45:01 452

原创 SGU114

若干城市在一条线上,在这条线上建个转播站,定义城市的不高兴值为城市到转播站的距离*城市人数给定城市坐标和人数,求最小的不高兴值如果去掉城市人口就是个很裸很裸的求中位数因为人口  当时卡了一会儿,实际上可以把它当做若干点是同一坐标,那么也就是一样的求中位数sort一下就可以了//Lib#include#include#include#include#

2011-11-17 17:33:40 470

原创 SGU113

定义一个数x是nearly prime当且仅当x由两个素数相乘得到,给定n个数,判断他们是不是nearly prime傻×题其实可以不用筛的,我脑残一下筛了素数//Lib#include#include#include#include#include#include#include#include#include#includeusing namespa

2011-11-17 17:01:37 521

原创 SGU112

题目大意:求a^b-b^a的值(a,b裸高精度//Lib#include#include#include#include#include#include#include#include#include#includeusing namespace std;//Macro#define rep(i,a,b) for(int i=a,tt=b;i

2011-11-17 16:23:44 673

原创 SGU109

//Lib#include#include#include#include#include#include#include#include#include#includeusing namespace std;//Macro#define rep(i,a,b) for(int i=a;i<=b;++i)#define rrep(i,a,b) for(int i=a;i

2011-11-17 13:57:54 789

原创 SGU108

题目大意:定义d(n)为n的各位数字之和+n,若给定n,可以构建一个关于n的数列d(n),d(d(n))......n称为d(n)的生成器一个没有任何生成器的数叫自我数,给定n(n这道题给了2.5s,范围也不大,可以用筛法问题在于vis数组不能开到1e7,否则会超内存(才发现sgu给内存给这么少……),MS有几种搞法,我直接压位//Lib#include#i

2011-11-17 13:05:35 740

原创 SGU107

题目大意:求所有的N位数中平方的后缀为987654321的数有多少个很简单的道理就是如果x的平方的后缀为987654321,那么以x为后缀的所有数的平方的后缀都是987654321然后自己手测一下1-10^9以内的数平方后缀为987654321的数有哪些很幸运的是,都是九位数,不然又会蛋疼一点1111111111193576393806423613888

2011-11-16 21:41:13 979

原创 SGU106

题目大意:给定a,b,c,x1,x2,y1,y2求解二元一次不定方程ax+by+c=0x∈[x1,x2],y∈[y1,y2]的解的个数看到二元一次不定方程就想到扩展Euclid只不过这道题确实很猥琐……十分容易WA,RE……Calc函数是借鉴的别人的,我到现在都不明白我的方法为什么会wa……//Lib#include#include#include#

2011-11-16 21:26:50 1294

原创 SGU105

题目大意定义一个数列1,12,123,1234,12345......12345678910,1234567891011求第1-n项中能整除3的项的项数没的说,跟HNOI2011 day1 T1太像了……虽然完全不是一个做法……HNOI那题是要求第n项模某一个数的余数,可矩乘解决观察数列可得,第i项模3的余数为 第i-1项模3的余数+i 模3再进

2011-11-16 17:56:39 819

原创 SGU104

题目大意:给定一些花和一些花瓶,其中每支花插到对应的花瓶会得到相应权值,要求把每只花都插到花瓶中(可能会有空花瓶),且编号小的花一定在编号大的花的左边求最大权值和任意可行方案一眼看上去像个裸二分图,只是编号这里蛋疼一点而已但实际上不知道怎么做其实是个N^3DPf[i][j]表示第i支花插到第j个花瓶中得到的最大权值记录方案写丑了//Lib#include

2011-11-16 17:30:25 1028

原创 SGU103

题目大意:给定一个带权无向图,每个点有一个颜色属性,要么为Blue要么为Purple,颜色会在B和P之间来回变换,两种颜色各有一个持续时间两个邻接的点之间能够通行当且仅当两点是相同的颜色,通行的代价为边权,可在点处等待给定起点,终点,每个点的初始颜色和持续时间,蓝色的持续时间,紫色的持续时间求起点到终点的最短时间如果没有颜色通行的限制,那么这道题就是个最短路,加上了颜色

2011-11-16 13:00:40 1140

原创 SGU102

求小于N的整数中与N互质的数的个数由于范围比较小,暴力GCD应该是可以过得但是更好的方法是欧拉函数//Lib#include#include#include#include#include#include#include#include#include#includeusing namespace std;//Macro#define rep(i,a,b)

2011-11-15 20:55:16 695

原创 SGU101

题目大意给定若干(n如果将骨牌抽象成边,数字抽象成点,那么这个问题就变成了求一条有重边的欧拉路径,瞬间变得很裸,但前提是看的出欧拉路径的求法,深搜即可//Lib#include#include#include#include#include#include#include#include#include#includeusing namespace std;

2011-11-15 20:24:07 2652 2

原创 关于分数规划

分数规划问题,是指这样一类问题:要求f(x)/g(x)的最值,其中f(x),g(x)都是线性函数,而其中被研究的最多的是0-1分数规划,即求这样的一个式子的极值r=(∑(ci*xi))/(∑(di*xi)),其中xi∈{0,1}我们可以把这个式子变换一下z=(∑(ci*xi))-r'*(∑(di*xi)),其中z是左边这个式子的最大(小)值由于di为正数,xi为非负数,所以

2011-11-15 17:40:18 4904

原创 解线性同余方程组

前几天纠结了差不多一个多小时,终于把线性同余方程组的求解纠结清楚了……果然还是写下来怕自己忘记……其实qzone不适合写这种文章……不过反正也只有自己看就无所谓了……嗯……归纳一下线性同余方程ax≡b(mod n)是一个同余方程,表示ax mod n=b(or (b mod n)),求解这样一个x存在这样的x当且仅当gcd(a,n)|b那么所有的解可以表示为{x0+kn/d}

2011-11-15 13:16:55 8121

原创 NOIp完挂,等待省选

因为看错题的缘故day1挂掉导致与1=擦肩而过……我就是个脑残……等待省选ing……

2011-11-13 19:10:33 2228

bzoj FFT 的模版

bzoj FFT 的模版

2011-12-20

空空如也

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

TA关注的人

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