自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

my coding life

You will never walk alone

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

原创 ZOJ 2012 2月 月赛部分题解

临比赛前最后一篇博文.....T T......鸭梨山大的啊C 训练赛的时候搞麻烦了,其实根本用不着数据结构。。。。省略代码D 三点不共线降低了难度,根据基础的数学知识,如果画一条新的线段,与之前m条线段在区间内相交,则新生成m+1个partO(n*n)超时,第一个反应就是看看排序,按照线段的起点坐标排序,发现之后是逆序数。。。附代码#include #include #inclu

2013-11-15 00:13:06 1136

原创 codeoforces 206 (div1 A)

A半天没思路,弱死。。。后来做标记,发现标记序列必须是LLLLLRRRRR格式,第i个字母代表机器人拿第i个物品用哪只手,无论怎样,序列必须是左边若干个L和右边若干个R组成,且不可能是LLLRR..RRRLLL..LL,代码省略了C不会。。刚开始转换都没有想到 。。。。T T题目转换一下,任意a[i] % d 容易看出,dmax 若m 则 a[i] % m

2013-11-01 15:23:21 997

原创 关于莫比乌斯反演的几个题目(更新中)

网络赛中有一道数论题出现了莫比乌斯反演这个概念,今天就学了一下当g(x) = sigma{f(d),d|x}则f(x) = sigma{mu(d)*g(x/d),d|x} 其中mu(d)为莫比乌斯函数,详细了解请看具体数学吧1.SPOJ VLATTICE果断不会的,就翻了题解,这道题题解刚开始都看不懂。后来才知道,莫比乌斯函数有另一种形式当g(x) = sigma{

2013-10-10 00:20:51 3127

原创 长沙网络赛G,H,J

ICPC网络赛部分题解

2013-09-26 11:16:02 1500

原创 SPOJ LCMSUM&GCDEX

爱神博客上的两道数论题。SPOJ做的苦不堪言。。。灰常难受的说,各种卡时。。。。。然后因为一个小错误,WA了很长时间。。。。PS:代码能力已经真心不忍直视了,导致长沙网络赛没有过前70。。。。。。。不多说先是LCMSUM这道题f(n) = sigma{lcm(i,n)} =sigma{ (i*n)/gcd(i,n)}分母都不一样,所以要去分母,将n与gcd约分后,可以看到,对于gcd(

2013-09-26 10:41:58 1279

原创 HDOJ-WARMUP2 部分题解(不断更新)

1001:水题1005:计算几何这是本人第一次写计算几何题,我还是觉得模板要用自己写的,否则真是各种不舒服。。首先考虑三点共线的情况,若第4个点在这个线段上,则为Danger,否则safe三点不共线的时候,果断想外接圆,但byijie跟我说不对,因为钝角三角形时,面积最小的圆应该是以长边为直径的圆,这样的话,枚举四个圆即可,一个外接圆,三个以三条边为直径的圆。比赛的时候当然没写完,

2013-09-12 19:27:38 872

原创 ZOJ 3674

找格点三角形,先是计算由随便三个点构成的图形,即C(N*M,3)然后删掉三点共线的图形,先是考虑竖线和横线的情况,这个简单斜线怎么办?真弱,没有想到。。 = =枚举2个点,(两个边点),那么与它两个点共线的中间点也就确定了。其实这样的两个点,还能确定一个矩形,而在一个大矩形中,有很多类似的小矩形。。。kuangbin的博客是这么写的,枚举矩形。。。。附代码:#include #i

2013-08-13 20:18:45 912

原创 hdu 4373 数论

额,首先要推个公式。。就是一个T1循环后面跟着m个TYPE2循环的复杂度(显示语句次数)这公式刚开始也不会推了,后来随便整,发现了个规律ANS = C(m,0)+C(m,1)+...+C(m+n-1,n-1)  组合数学当中有个公式,C(M,0)+C(M,1)+....+C(m+n-1,n-1) = C(m+n-1,n) 接下来就是求C(M+N-1,N)%MOD出题人太坑爹了,

2013-08-13 12:48:12 921

原创 ZOJ 3644 记忆化搜索

哎,只有牵扯到图,就啥都不会。。。。现在实在有必要学习一下,尤其像这道题,不是图论的DP题基本上看爱神博客的吧把握一点,就是无论到哪个点,当前值均为K的约数。先求K的约数,离散化,DP[X][Y],代表到达第X的节点,数值为K的第Y个约数的路线数。搜索的时候,参数为节点和值,由于随着搜索的深度加深,值一定会越来越大,避免了环路,于是就是个简单的搜索问题了,附代码:#include

2013-08-12 11:29:49 978

原创 hdu 4294 还是搜索+数学

嗯,做了一道和上一题类似的题,卡时真心坑爹啊。。。有一个地方没有搞懂,就是为什吗长度是2a,aa,aaa,aaaa.....aaaaaa..aaaa这样的数每生成一个,对n取模得到一个数b,记录数组b[i],当i=n+1时,根据鸽巢原理,必有i,j使得b[i]=b[j]把a[i]和a[j]相减,得到aaaaa...00000 肯定存在n的倍数只有2个数字接下来枚举就是了用p

2013-08-08 20:35:11 843

原创 hdu 4474 数位搜索

这道题比赛的时候很坑,不要以为N=10^4就可以暴力,答案都能超过Long long你还暴力搞?其实对付数位的题,我感觉还是搜索最应该优先考虑,而实际上这道题就是搜索,怎样剪枝呢?这是难点,其实记录得到的数对n取模就好,并且搜索时按照往后加数,这样的话叶子节点总是new = odd*10 +b[i],其中b[i]是可以用到的数位,这样的话,若存在两个点x,y,它们对n取模相同,这样的话保留小数

2013-08-07 21:25:03 1316

原创 HDU 4345 数学+dp

这道题的背景是一个置换,1个置换的循环是它子置换的最小公倍数,所以这道题可以转换成1个纯数论问题,将n划分为若干数,这些数组成的最小公倍数有多少种?DP弱啊。。。竟然不会,5555后来看了几篇题解(包括zz1215的)。大概我有个地方没有想明白刚开始dp[i][x]表示当前和为i,且包含最大质因子不超过素数表第t个素数的情况状态转移时dp[i][x] = dp[i-x][t-1]+

2013-08-06 16:57:47 882

原创 Codeforces 126D

感谢wuyiqi博客中提供的题,这道题我觉得还不错,难度适中~首先有一点就是如何去找任意一组解,其实贪心就可以,从大到小来,只要n>=f[i],n-=f[i].为什吗这样的贪心是可行的,因为当i逐渐减小时,相邻的f[i]差值递减,并且最终等于0,而且f[1]=1,大概有一种极限的思想。。。想明白这个就好办了,把n的某一种表达法换成01序列的模式,比如14=13+1,可以写成100001(1

2013-08-05 08:59:41 939

原创 codeforces 266E 多颗线段树维护

http://codeforces.com/contest/266/problem/E 题意明显,略掉。把表达式展开,其中i一项,(1-l)一项,根据二项式定理展开,发现只需要维护a[i]*i^k,0#include #include #include #include #include #include #define N 100004#define cl(

2013-08-04 15:52:44 999

原创 2013多校3部分题题解报告

·先谢WJMZBMR.....这套题虽然难度较大,但很有价值(世界冠军出的题怎能没价值。。。)1007送分题,略1010拿到题之后完全不知道怎么做,后来看了kuangbin的博客才知道怎么处理。。。(kuangbin大牛写的挺好的,赞一个~)把a[l]~a[r]约数都找到,其实就是查询该区间内出现2次以上的最大数最直接的区间合并是根本不行的,而这个时候就要换一种思路,那

2013-07-31 21:33:56 947

原创 2013多校联合1部分题解(更新中)

今天先水两发hdu 4602这道题仅从表面上看没啥头绪,后来仔细分析2^(n-1)的原因,就明白了,那么2^(n-1)个方法是怎样来的,首先对于n=k来讲,可以由任意n=k-1组成的序列前面+1,由任意n=k-2组成的序列前面+2。。。以此类推,方法估计2^(n-2)+2^(n-3)+..+1 + 1 =2^(n-1),这样也就知道f(n,k)怎样处理了。假设k=1时,f(n,k)=g(n

2013-07-25 14:49:31 1217

原创 福大校赛G&J

福大校赛好像2个月前举办的,在福大OJ上搞了同时的在线比赛,当时做了一下,切了4道题。。。之后把G和J独立完成,现在说一下这两道题G(FZU 2127)构建符合条件的三角形个数,先列个方程,发现是就是解三元不定不等式组组,虽说三元方程,但可以穷举某一个变量,进而以时间的代价简化问题复杂度,简化为二元不等式组,画图搞定,一些细节要考虑清楚,不过我是1A。。。代码:#include #inc

2013-07-21 19:10:37 1020

原创 hdu 2855

这道题要用到整体的思想,原因在于有组合数,组合数C(N,K)和C(n,k+1)之间没有直接的关系。受到昨天的启发,利用二项式公式,就把fib(n)拆成直接的表达式,也就是带根号5的内个表达式,之后整理,发现g(n) = 3 * g(n-1) -g(n-2), 附代码:#include #include #define N 40#define ss(a) scanf("%d",&a)#de

2013-07-20 15:05:30 809

原创 hdu 3483 矩阵构造

这道题寒假的时候看过,还不小心看了题解,不过题解说神马早就忘了,刚开始解题的时候完全想错了,后来才想起来是用矩阵构造这道题的确适合构造矩阵,因为所求的函数值满足线性关系,令F(N)为最终求解值首先我们要明确如果用矩阵的作法,那么矩阵乘法中,最终矩阵,必须包含F(N),还可以包含其他函数g(n),h(n)等等。作为乘数项的矩阵不得与N有关,只能与x有关F(n+1) = F(n) +

2013-07-19 20:33:52 777

原创 差值序列计数 HDU 3450

这个差值序列想到不难想,即便是不暴力,线段树也能处理。大概就是排序,离散化,然后维护dp(x),表示以序列中第x小的数为结尾的子序列的个数看似简单的水题,WA了差不多10次,好可怕。。。。之前在ZOJ还做了一道类似的题。。。。弱到爆,主要是有一个地方没有处理好比如这样一组数据2 3 2 2 2如果你线段树更新时,dp(x)=sum(v,w),则这样的数据就会WA但改成d

2013-07-18 12:18:52 894

原创 hdu 3664

当年鸟神现场赛处子秀挂掉的题,还埋怨了RudySnow......(PS:这事过去很久了,如今2位也都学业有成了,向学长看齐)这个东西具体数学中有,我没看过具体数学当然也不知道,自然这题也不会做。。。。后来知道了公式是这样:F(I,J) = (J+1)* F(I-1,J) + (I-J) * F(I-1,J-1)这个公式证明,想了很久才懂。。。。弱菜不解释~对于F(i-1,j)

2013-07-08 00:57:11 1039

原创 hdu 4473 诡异的数论题

这是去年成都邀请赛的题,听zz_1215说这个数论题很独特,果然如此,现场赛只有3个队通过竟然。。。后来看了题解,顿时惊呆。。首先先来看一个这样的题,问f(1)+f(2)+..+f(n),其中f(x)是x的约数的个数这个问题可以转换为a*b然而不同的理解方式显然有着很大的区别,如果按照第一种思维方式去理解,显然拿到这道题后就得心应手了言归正传,这道题是不是可以转化为a*b*c#

2013-07-02 15:57:06 1078

原创 长沙邀请赛A&E

都是独立完成的,而且都比较顺利的敲了出来。。A题,详见组合数学中关于用齐次方程法表达递推公式那一节,直接上代码了:#include #include #define cl(a) memset(a,0,sizeof(a))#define ss(a) scanf("%I64d",&a)#define ll __int64#define N 35using namespace s

2013-06-05 13:23:53 737

原创 POJ 2923 状态压缩

这题不难,但过得人不多啊,POJ才不到600人过。。。。做的时候也比较顺利,仅仅PE了一次。题意,有两辆车,容量分别为V1,V2,每次要运一定的物品到新家,经过几次后,把所有物品都运到新家,问最少用多少次。N看起来不难,但想起来总感觉有点乱。想了半天才知道咋做。首先预处理,分别搞出两辆车一次性可装的物品的状态。接下来用f[i][x]表示第一辆车经过第i次的装运(可以小于i),能

2013-05-28 18:41:58 709

原创 hdu 4121 模拟

这题有点坑而已。。。但不算很坑。。。先吐槽些省赛的事,只能用蒟蒻来形容,代码能力渣,尤其是模拟题上手是没有自信。。。平时题目刷的也不够,方向还特别的窄,╮(╯▽╰)╭回来后被严重B视了。。好在有些人还是比较理解咱这个马上要考TG的狗。。。好,回到正式正题,这道题题意简单,就是判断当前的黑方是不是彻底OVER了。。。象棋规则省略。这种在坐标上的模拟题,首先要看看他的X,Y代表什么,而棋盘

2013-05-27 15:52:32 1111

原创 HDU 4549

这是一道数学题,刚开始有点吓人。。表面上看没啥思路,于是就是试着写了几个,发现f(n)=a^fib(n-1)*b^fib(n),n>=2,嘿嘿,这下有了然而今晚状态真是差的一塌糊涂,各种错误+各种NC思路。。。哎,不多说,拙计。。。。求a^fib(n)%mod,mod=10^9+7,由于mod是一个大质数,根据费马小定理,a^(mod-1)=1(mod m),所以a^x有一个循环节,这个循

2013-05-22 23:21:09 1469 1

原创 SGU 132 状态压缩

这道题重点在于不能有连续两个相邻的空格,不光是横向的连续两个空格的空格,还有纵向的连续两个空格也不行(把握这个这题就OK了)。之前做了一些铺瓷砖的压缩DP题,都没有在纵向有神马限制。这也是这道题的难点所在。刚开始想的状态转移方程错了(想了好半天才发现是错的。。。T..T),原因是不能解决我说的内个重点问题,于是把内个加入到DP的状态当中。DP[N][S][Q]表示第N行状态为S,Q表示第n

2013-05-22 12:42:26 1097 2

原创 SGU 119 数论

还是没有想到简单的方法,具体咋样自己百度吧。。。。方法搞得麻烦,快把自己整吐了,好在最后AC了。。。。。。T__T首先是特殊情况,分别是a=0或b=0时,这个省略了接下来:根据题意,(A0x +B0y) % n =0 转换为 A0x+ B0y = nk,首先判断 n 是否整除g=gcd(a0,b0),如果不整除,则该方程无解,令n1 = n*g/gcd(n,g)。如果n整除g,则n1 =g

2013-05-18 20:11:48 1154

原创 SGU 168

我的算法比较麻烦。。。T_T........有直接动态规划的算法,其实就是求一个区域内(图形是矩形切一个角)的最值问题。。根据MIN(G) = MIN(G1,G2),其中G1UG2=G即可。根据这个公式搞出动态规划转移方程,由于我不是按照这样做的,故不加描述,请去到这里http://hi.baidu.com/zyz913614263/item/4c05bdc8b59f5842bdef6

2013-05-18 19:55:23 798

原创 SGU 106

这题细节很多,写的很麻烦。首先把c移到等号右边,这样好处理。其实就是求区间,关键是在计算x1,x2所对应的y11,y22会出现小数,要把小数变成整数,根据一次函数特性做误差处理。。。。附代码:#include #include #include #define ll __int64#define MAX(a,b) ((a)>(b)?(a):(b)) #define MIN(a,b)

2013-05-15 21:56:16 774

原创 Digital Root的问题

有关Digital_Root,大概就是求一个数的各个位之和,若这个数为个位数,则它即原数的DigitalRoot,若不是,则再对它进行数位求和。这个在网上看到有个公式是F(N)=(N-1)%9+1;证不出来,群里问了牛人,牛人果断几S解决了,ORZ......牛人是这样提示我的:把N表达为sum(a[i]*10^i),sum(a[i]*10^i)=sum(a[i])(mod 9)....刚开始

2013-05-14 00:23:41 772

原创 HDU 4512 LCIS

明显把这题想简单了。。。。WA了好多次,后来题解中提到LCIS。。。才知道咋回事,弱成虫。。。。。。。LCIS,即最大单调上手公共子序列令dp[i][j]表示为s1串前i项,s2串前j项,并以b[j]为结尾的最大单调公共子序列则当a[i]!=b[j]时,dp[i][j]=dp[i-1][j]反之,dp[i][j]=max{dp[i][j],dp[i-1][k]},b[k]

2013-05-04 21:14:25 764

原创 codeforces 181 div2 C&E

比赛没打,B题估计写不熟练,C题虽然赛后搞定了,但不是很熟练,比赛做坑定不行这题正面思考会很吐,尤其是YYdp的话,就及其不可取了。从一个条件入手,就是数字之和为good数,由于n=10^6,所以good数,也就是所有excellent数的数字之后也不过就是2^1+2^2+2^3+..2^7#include #include #define u 127#define mod 100

2013-04-26 15:07:11 1011 2

原创 状态压缩棋盘问题2道 sgu131&poj1038

SGU 131dp[i][s],表示第i行状态为s的时的数量,这个时候按照题意扩展可行的上一行状态t,则dp[i][s]=sum{dp[i-1][u-t]},其中u为(2^m)-1...状态转移略麻烦,一次性写不对的话,debug真心受不鸟了。。。。附代码:#include #include #define N 11#define M 520#define u (1<<m)-

2013-04-25 18:02:33 727

原创 第一道树形dp ural 1018

很久很久就听说过这个东东了,但由于拙计的dp,没咋动。。。那就现在抓紧吧网上找了些资料,基本上第一道例题都是它,题意不说了,确实比较简单,状态方程很容易想到。。题中说的是保留M个树枝,这里把它换成保留M+1个节点我觉得更好~f[i][j]=f[p][k]+f[q][j-1-k],其中p是i节点的左子节点,q是它的右子节点,对叶子节点初始化省略了。。。。初始化的时候,最好把f[i][j]

2013-04-22 18:16:59 677

原创 hdu 4542 数论

在搜索方面仍然是渣的水平,高度拙计~不可救药。。。。之前算法还搞错了,弱爆。。。第一问,可以参考codeforces 27E,实际上就是一个搜索,用到分解质因数法求约数个数的知识,然后搜索第二问,搞一个不等式就得了,设g(x)为x的约数,则g(x)K...更正算法法,不断TLE,后来搞几个预处理,过了。。。附代码:#include #include #include #inc

2013-04-19 22:49:43 991

原创 SGU 108

小技巧弱爆。。。。还是有些东西没有领悟透彻~慢慢攒经验吧,只能这样这个题是故意卡时间,空间限制竟然仅有4M。。。。目测连打表都要MLE。。。。真心给跪~拿到这题,第一反映是筛法,直接暴力筛肯定MLE,想过打表,还是不行。。。弱狗很无奈,只有看题解~实际上,这道题的筛法有一个特点,每次筛的结果都比上次结果大,大的范围很小,不足64。这有神马用?想到背包中的滚动数组了,为什吗可以减一维,是

2013-04-14 14:38:27 929

原创 状态压缩基础题2道

最近队友们都在专注状态压缩,于是果断凑凑热闹。。。。昨天看了他们正在看的一份资料,写的非常不错,话说国家集训队论文对我这个小菜鸟而言高深莫测,各种看不懂,这份资料可以说写的相当不错,由浅入深,最重要的是细节部分写的很到位(PS:其实看集训队论文还是经典的,但需要读者有较好的基本功的)对状态压缩已有了最基本的了解,尤其是预处理意识对初学者来讲很重要的,它可以减少代码复杂度和时间复杂度。此外,位运

2013-04-05 23:40:23 738

原创 Codeforces #176 div1 A

这次比赛总算是涨rating了。。。。还是在队友的帮助下,div2 的B题题意还是没有搞清,导致直接被hack...以后真的不要这样了,一个水二分,哎。。。比赛看C的时候也没啥思路,后来队友搞定了(V5),跟我说了一下思路,有一个4的循环令f(i)=j,则f(f(I))=n-i+1,f(f(f(i)))=f(f(j))=n-j+1,f(f(f(f(i))))=f(f(n-i+1))=i;

2013-03-26 13:45:32 854

原创 codeforces 171 div2 C&E

C细节略讨厌,我的作法是先去重,把等高点都当做一个点来处理,然后用a[i]纪录从1到i右多少个极小值点,若a[j-1]-a[i]=0,则区间(i,j)是满足题意的,由于之前去重,所以要用到哈希函数。这题比赛时没做出来只能说明太弱了~附代码:#include #include #define N 100004#define ss(a) scanf("%d",&a)using na

2013-03-20 13:24:57 755

空空如也

空空如也

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

TA关注的人

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