自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 SCU 4315: Sequence

异或运算每位独立。分析某一位,很容易发现从左边开始,每次加入一个0,总的1不变,0多一个;反之亦然。这样扫一遍,就处理一个位。处理31位既可(signed int)

2013-10-13 22:21:44 841

原创 SCU 4311: Sum of LCM

考虑整除关系上的一对容斥,又叫莫比乌斯反演。首先要会求gcd(i,j)=k [1对每个k,有平凡等式gcd(i,j)*lcm(i,j)=i*j。故lcm(i,j)=i*j/k所以我们用莫比乌斯反演算出gcd(i,j)=k 的sum(i*j)既可。又根据独立性可以分离成sum(i)*sum(j),随手搞就行了。O(nlgn)不卡时间

2013-10-13 22:18:31 970 1

原创 叉姐的Noip模拟题

一个平凡的事实是,与或非等位运算,每个位是独立的。所以只要分析其中某一位就行了。只看某一位,实际就是一个取余的统计,再看对2的余数既可,不多说。

2013-10-13 22:12:24 1231

原创 SCU 4320: File Recover

题意是问给定字符串中出现超过一次的不同子串有多少个。显然可以用后缀自动机来搞。知道自动机中后缀转移的性质,不难实现沿fail指针统计不同子串个数。#include#pragma GCC optimize ("O2")#include#include#include#include#includeusing namespace std;typedef long long

2013-10-13 22:05:58 790

原创

校网上csdn非常卡,我又不会再csdn中用mathjax,还经常点发布的时候卡死。为了备战今年的regional,最终还是觉得在此记下一些思路。文章写的挫,见谅。

2013-10-13 22:02:18 639

原创 差分方程求解,leslie矩阵的快速幂。

k阶差分方程以矩阵方式给出,形如A =  [a0, a1, a2 ,... ak-1]       [ 1,    0,     0,...       0]       [0,     1,    0,...       0]......       [0, 0,0.. 1,   0]朴素的求解这个矩阵的n次幂,bn = A*b0,时间复杂度高达O(k^3 LogN)

2013-08-30 14:40:21 1616

原创 hdu 4288 Coder

CoderTime Limit: 20000/10000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1954    Accepted Submission(s): 804Problem Description  In mathematics and co

2013-05-10 00:09:15 1119

原创 2012成都现场赛

Browsing History很水的计数,难道是在测输入输出?#include #include int getsum(char *s){ int ret=0; while (*s) { ret+=*s; s++; } return ret;}int main(){ i

2013-01-25 16:02:26 711

原创 2012杭州现场赛

Outlets看一眼就应该知道是要求MST。#include #include #include #include using namespace std;const int N=10000;struct DST{ int father[N]; void init() { for (int i=0; i<N; i+

2013-01-25 10:28:14 725

原创 2012金华现场赛

据说赛区给教练送丝袜,亮瞎了有木有,哇咔咔。Draw Something这个是现场赛的题?⊙﹏⊙怎么感觉在试输入输出。。#include int main(){ int a,b,sum,i,j,n; while ( scanf("%d",&n),n ) { sum=0; for (i=0; i<n; i++)

2013-01-25 10:05:43 589

原创 2012金华网络赛

A very hard Aoshu problem这个题敲一个dfs就可以AC了,注意等号左边dfs的时候hash一下,右边取hash的值加起来。然后枚举等号的位置就好了。#include #include #include using namespace std;typedef long long ll;map hash;ll tot;char s[100]

2013-01-25 09:43:42 557

原创 2012长春网络赛

记得这场比赛3题出线,是我打的第一次regional,悲剧只出1题,RP掉光。Alice and Bob 这题是矩形覆盖矩形的问题,看懂题目后就应该反映过来,此题类似LIS。n=10w,N^2的LIS显然不行,需要NlogN的方程。要转化为1维的LIS,此题就必须先对给定的矩形按x排序,然后再转化为y上的LIS。算是一个二次排序吧,题目和2009的waterloo某题超像,只是当时

2013-01-25 09:28:10 454

原创 2012杭州网络赛

Arrest费用流。将每个有敌人的城市拆开,之间连一条容量为1,费用为-inf的边,表示逮捕,保证最后所有敌人被抓到。源点到起点连一条容量为K,费用为0的边,表示出动K个小分队。起点到汇点连容量为inf,费用为0的边,表示小分队可以不动,无费用产生。接着所有城市跑一遍floyd,i起点到各个城市i连一条容量为inf,费用为distance(0,i)的边。i'到汇点连一条

2013-01-23 11:28:58 528

原创 2012成都网络赛

成都网络赛Coder您找到了这个链接吗http://www.codeforces.com/problemset/problem/85/D我什么都不想说了。线段树的题,还要考虑子集合并。  #include #include #include #include #include #include #include #include

2013-01-22 17:10:39 632

原创 2012天津现场赛

这场去了天津现场,做的明显不如网赛来的顺利,感觉自己准备的很不充分啊,努力刷题吧~~Str2int用后缀自动机来搞。将给定的串用10这个字符连接起来,建一个SAM,然后按照节点代表的串长度bfs一下,来一个dp就可以求出答案了。如果用SA来解,必须预处理后在O(1)的时间得到[l,r]区间的所有前缀和,蛋疼。还是最简状态自动机简单些。明显状态和阶段都好了,dp一下就出来了,具体看代

2013-01-21 20:35:39 711

原创 ZOJ 3656 Bit Magic

之前发过一篇2-sat模板的文章http://blog.csdn.net/zck921031/article/details/7712359。再看看今天这题,是不是很像哈。题目链接http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3656经典的and or xor运算,六种情况全部上了,⊙﹏⊙b汗啊(去长春赛区的同学们

2012-10-14 23:51:27 2286

原创 2012天津网络赛

1001 8进制数,直接贴代码。 #include int c[1000];int fun(int t){ int ret=0,mul=1; while (t!=0){ ret+=mul*c[(t%10)]; mul*=8; t/=10; } return ret;}int m

2012-09-10 11:16:09 2947

原创 POJ 2785

将数据2分,对一半求出n*n个和,hash存到一个容器。对另一半也求出n*n个和,到hash容器中查找一下就ok了,很容易得到sum=0的情况总数。用&运算: #define hash(x) ( (x) & H)耗时2000ms, 如果是#define hash(x) ( (x) % H)就TLE。。。 //poj 2785//G++ AC C++ ACconst int

2012-07-10 21:59:47 1077

原创 POJ 2707 水题,输入输出

http://poj.org/problem?id=2707 #include #define MIN(x,y) (x<y?x:y)#define MAX(x,y) (x<y?y:x)int main(){ int a,b,c,d; double t1,t2,t; while (scanf("%d %d %d %d",&a,&b,&c,&d),a!

2012-07-10 18:05:38 1070

原创 POJ 2739 素数

http://poj.org/problem?id=2739#include int plist[10000],pcount=0;int prime(int n){ int i; if ((n!=2&&!(n%2))||(n!=3&&!(n%3))||(n!=5&&!(n%5))||(n!=7&&!(n%7))) return 0; for (i=0;plis

2012-07-10 17:51:41 714 1

原创 POJ 2719 9进制数

就是将9进制转换为10进制,很简单http://poj.org/problem?id=2719#include int ch[10];int main(){ int x,i,sum,k,tmp; for (i=0;i<=3;i++) ch[i]=i; for (i=4;i<=9;i++) ch[i]=i-1; while (scanf("

2012-07-10 17:38:45 616

原创 POJ 3165 最短路 floyd

POJ  3165  最短路 floydhttp://poj.org/problem?id=3615dp方程(f[i][j]>MAX(f[i][k],f[k][j])) f[i][j]=MAX(f[i][k],f[k][j]);此题为有向图。n=300o(n^3) #include #include #define MAXN 310#define inf 1

2012-07-04 13:45:20 543

原创 POJ 1906 数学题

输入n, 取k使得2^k然后n = n - 2^k, 迭代,直到n=1, return。注意2^63可以用int64存下,3^63则要打表输出,不然就高精度吧。http://poj.org/problem?id=1906#include #include #include int a[70];__int64 two[70];char three[][32]={

2012-07-03 22:30:09 1200

原创 POJ 2545 BFS Hamming Problem

http://poj.org/problem?id=2545求Hi(p1,p2,p3), 用bfs搜索即可。用优先队列做,每次让最小的出队,同时衍生出3种新的情况,map判重,出队i次,ok。#include #include #include using namespace std;struct NODE{ int a,b,c; __int64 k;

2012-07-03 21:37:40 545

原创 POJ 2492 2-sat

题目: http://poj.org/problem?id=2492每个人不是"男"就是"女"。每个人就是一对点集a,a'。 判断是否有同性恋,就是2-sat判定 抄poj3678啦啦啦//2-sat//适用于点集成对给出,最多只能取其中一个。//poj3678//建图: 0..n-1取0; n..2n-1取1//连接某边是为了推出矛盾。x->y表示选x则必须选y//求

2012-07-03 20:28:28 656

转载 POJ 3678 2-sat

[转载]题目链接: http://poj.org/problem?id=3678题目大意:  有一个大小为N的集合={x1,x2..xn},xi=0或1,现在给出它们之间的一些逻辑运算的结果(比如x1 and x2=1),逻辑运算有AND OR XOR三种,问是否存在一种满足所有条件的取值方案。分析:  (这题开始我构图出错了,叫lin神看了下,他提出一个观点,如果类似 u,v

2012-07-03 16:09:24 2867 1

原创 POJ 1953

用最朴素的方法打出前三十组数据,发现是fibonacci数列,直接水过。此外还可以用排列组合的方法。n=3时,由插空法得C(4,0)+C(3,1)+C(2,2); n=k时则是sigma C(k-i+1,i)   (i=0..(k+1)/2) Problem Given a positive integer n, determine the number of different

2012-07-03 13:57:21 642

原创 POJ 1157 花束摆放

//花束摆放问题,类似于背包,方程为f[i][j]=max{f[i][j-1],f[i-1][j-1]+a[i][j]} i=1..F, j=i+1..V//初始f[i][i]预先算出来, f[0][]={0}, 结果为f[F][V]//F为花朵数,V为花瓶数#include #include const int S=105;int a[S][S],f[S][S];in

2012-07-02 21:05:29 1147

原创 POJ 1405 Heritage

递推式a[i+1]=a[i]*(a[i]+1)  输出的是a[i]+1要用高精度,最后答案在5.2w位左右。#include #include using namespace std;#define DIGIT 4#define DEPTH 10000#define MAX 15000typedef int bignum_t[MAX+1];void

2012-07-02 17:46:38 747

原创 POJ 2833 求平均数。 模板:STL实现大根堆和小根堆

这题直接存储会超内存。因为n1,n2都很小,用大根堆和小根堆分别存储 最小的n2个数 和最大的n1个数。//remove the greatest n1 ones and the least n2 ones//priority_queue 是大根堆//priority_queue 是小根堆//priority_queue ,less > 大根堆//prior

2012-06-30 16:07:14 2461

原创 POJ 2081 Recaman's Sequence

map水过2400ms+懒得改成hash了 DescriptionThe Recaman's sequence is defined by a0 = 0 ; for m > 0, am = am−1 − m if the rsulting am is positive and not already in the sequence, otherwise am = am−1 + m.

2012-06-30 15:31:27 454

原创 POJ 1012 约瑟夫问题

学会打表。。。其实程序计算也挺快的,left=n-i; j=(m-1)%left+1;这两句加上去1s内就把表打好了。经典约瑟夫问题,直接用数组做的。 #include #include using namespace std;int h[40];int check(int n,int m,int k){ memset(h,0,sizeof(h));

2012-06-30 14:45:37 440

原创 POJ 2551 ones

超水,看懂题目很重要111%3=0111111%7=0...#include using namespace std;int main(){    int n,i,y;    while (cin>>n){        y=1;i=1;        while (y!=0){            i++;            y=(y*10+

2012-06-30 14:08:23 413

原创 POJ 1700 3404 Crossing River

有一艘船只能载两个人,总共有n个人要过河,每个人过河需要时间t[i], 两人共同过河时间为 max(t[i],t[j]),求过河时间最短。每次载最慢的两个人过河都有两种方法。 可以是t[0] t[1] 一起,也可以是t[0]一个人来回载。 #include #include using namespace std;#define MAX(x,y) (x<y?y:x)#d

2012-06-30 12:44:59 449

原创 POJ 2312 Battle City bfs宽搜

类似"罗密欧与朱丽叶"那题,宽搜搞定。Battle CityTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 5858 Accepted: 1934DescriptionMany of us had played the game "Battle city"

2012-06-30 11:59:13 740

原创 POJ 2328 大水题

求个最大值最小值,right on的时候判断一下是否合法就可以了。 #include #include using namespace std;char buff[30];int main(){    int n,max,min,x;    while (1){        min=-1;        max=100;        while (1

2012-06-28 17:14:52 482

原创 POJ 3664 排序,水题

Election TimeTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 5531 Accepted: 2998DescriptionThe cows are having their first election after overthrowing

2012-06-28 16:04:24 1457

原创 POJ 3687 拓扑排序

居然是一道陷阱题。。。逆向建图,输出的是每个lable的weightLabeling BallsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 7649 Accepted: 2049DescriptionWindy has N balls of d

2012-06-28 12:21:58 1053

原创 POJ 3041 最小点覆盖 二分图最大匹配(hungary邻接阵)

二分图由n行(A集)、n列(B集)组成,(x,y)有陨石等价于x∈A -> y∈b 有一条有向边。 消去x行等价于覆盖x这个点。问题转化为求这个二分图的最小点覆盖。AsteroidsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 9839 Accepted: 5296

2012-06-27 11:41:59 656

原创 ACM大数的高精度模板一套,来自zju

大数(只能处理正数)//功能挺全的,以后再作说明吧。#include #include  #define DIGIT       4#define DEPTH     10000#define MAX     100typedef int bignum_t[MAX+1]; int read(bignum_t a,istream& is=cin){

2012-06-26 17:42:50 3258

空空如也

空空如也

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

TA关注的人

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