自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Heret1c

以梦为马 莫负韶华

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

原创 BZOJ 2142: 礼物

BZOJ2142令sk=∑ki=1wis_k=\sum_{i=1}^k w_i ans=∏i=1mCwin−si−1ans=\prod_{i=1}^m C_{n-s_{i-1}}^{w_i} 展开一下。ans=n!∏mi=1wi!∗(n−sm)!ans=\frac{n!}{\prod_{i=1}^mw_i!*(n-s_m)!} 因为pp不是质数,将pp分解质因数后,对于每一个因子分别处理然后C

2017-05-31 17:18:21 306

原创 BZOJ2521: [Shoi2010]最小生成树

BZOJ2521QAQ一开始看到这个题就想到了BZOJ2561 然而瞬间否定,这两个题应该不太一样。神flag!flag! 先说说一开始错的想法错在哪吧。。 可以直接passpass: (一开始想的是类似次小生成树的做法,先做最小生成树,排序时若有多个边长与z[lab]相同的边,把lab放到最后,然后MST,如果边lab没出现,直接返回。然而发现这样还是有可能有其他解使得不考虑边lab,MS

2017-05-29 11:00:29 824

原创 POJ2891Strange Way to Express Integers

POJ2891mi不互质时解同余方程组 存一发模板吧QAQ 讲解看看:这里 那个为什么要mod (m2/d)还是想了很久。。 大概就是最后要在mod(m2*m1/d)意义下,然后带入到x=m1∗t1+a1x=m1∗t1+a1中乘了m1m1,所以前面mod(m2∗m1/d)mod(m2*m1/d)就可以满足条件。【代码】#include <cstdio>#include <iostream>

2017-05-28 20:58:57 331

原创 POJ1006:Biorhythms

POJ1006有三个周期,分别为23,28,33天。一个周期中有一天为峰值。 给出三个峰值日期,和当前日期,求最少要经过多少天,三个峰值同时出现。中国剩余定理模板题。【代码】#include <cstdio>#include <iostream>#include <algorithm>#define N 2335#define INF 0x7fffffffusing namespace

2017-05-28 11:43:19 353

原创 BZOJ4591: [Shoi2015]超能粒子炮·改

BZOJ4591根据LucasLucas定理推出ans=∑i=02332Cin mod 2333∗∑j=0k/2333−1Cjn/2333+Ck/2333n/2333∗∑i=0k mod 2333Cin mod 2333ans=\sum_{i=0}^{2332}C_{n \space mod\space 2333}^i*\sum_{j=0}^{k/2333-1}C_{n/2333}^j+C_{n/2

2017-05-27 18:42:44 471

原创 BZOJ2111: [ZJOI2010]Perm 排列计数

BZOJ2111根据题目所给信息,要求所有2<=i<=N2<=i<=N时,满足Pi>Pi/2P_i>P_{i/2} 列一下,就是:p2>p1p_2>p_1,p3>p1p_3>p_1,p4>p2p_4>p_2,p5>p2p_5>p_2,p6>p3p_6>p_3,p7>p3p_7>p_3 发现很像一颗二叉树!就是一颗二叉树。。 满足根节点小于两个儿子节点。 然后显然有子结构,可以dpdp 对于

2017-05-27 11:48:26 347

原创 BZOJ4403: 序列统计

BZOJ4403求非降序列可以考虑将每一个位置加上i,变成求严格上升序列。 那么长度为ii,范围在l到rl到r之间的方案数为Cii+r−lC_{i+r-l}^i 令M=r−l+1M=r-l+1ans=∑i=1nCiM+i−1ans=\sum_{i=1}^n{C_{M+i-1}^{i}}=C1M+C2M+1+C3M+2+…+CNM+N−1=C_{M}^1+C_{M+1}^{2}+C_{M+2}^

2017-05-27 10:22:28 446

原创 BZOJ2693: jzptab

BZOJ26932154 doubledouble expexp啊QAQQAQ取模少打一个0愉快的wa一发【代码】#include <cstdio>#include <iostream>#include <algorithm>#define N 10000005#define INF 0x7fffffff#define mod 100000009using namespace std;

2017-05-26 22:20:21 394

原创 BZOJ2154: Crash的数字表格

BZOJ2154题目要求的是∑i=1n∑j=1mi∗jgcd(i,j)\sum_{i=1}^n\sum_{j=1}^m\frac{i*j}{gcd(i,j)} 那么我们枚举gcd(i,j)gcd(i,j),不妨令n<mn<m 原式变成了: ∑d=1n∑ni=1∑mj=1i∗j[gcd(i,j)==d]d\sum_{d=1}^n\frac{\sum_{i=1}^n\sum_{j=1}^m

2017-05-26 20:54:31 501

原创 BZOJ3529: [Sdoi2014]数表

BZOJ3529看着这个a的限制看着就很讨厌,就先拿掉。 弱化版的题目就是求∑i=1n∑j=1m∑d=1min(n,m)F(d)[gcd(i,j)==d]\sum_{i=1}^n\sum_{j=1}^m \sum_{d=1}^{min(n,m)}F(d)[gcd(i,j)==d] F(i)F(i)表示i的约数和。 稍作变形: ∑d=1min(n,m)F(d)∑i=1n/d∑j=1m/d[gc

2017-05-26 14:56:25 372

原创 BZOJ2820: YY的GCD

BZOJ2820直接枚举质数像1101那样做肯定会T…然而我还是不信邪的T了一发才开心。。根据前面的题的经验。 这道题的式子可以先化成∑k=1p[k]<=min(n,m)∑d=1min(n,m)μ(d)∗⌊npk∗d⌋⌊mpk∗d⌋\sum_{k=1}^{p[k]<=min(n,m)}{\sum_{d=1}^{min(n,m)}}μ(d)*\lfloor{\frac{n}{{p_k*d}}}\rf

2017-05-25 20:03:48 312

原创 BZOJ2440: [中山市选2011]完全平方数

BZOJ2440题意就是求第k个无平方因子数。(题意有问题啊QAQ,1也是完全平方数啊) 考虑一下二分答案+判定。 二分一个数mid,那么每次就判定1~mid之间有多少个无平方因子数。 容斥一下,答案=所有数-至少一个质数的平方的倍数的数+至少两个质数的平方的倍数的数-至少三个质数的平方的倍数的数+…… 然后看看每个数的平方对答案的贡献,若d=p1∗p2∗…pkd=p_1*p_2*…p_k,

2017-05-25 15:23:58 361

原创 BZOJ2301: [HAOI2011]Problem b

BZOJ2301和1101一样啦。。就容斥一下就好了。 答案是Calc(a−1,c−1)+Calc(b,d)−Calc(b,c−1)−Calc(a−1,d)Calc(a-1,c-1)+Calc(b,d)-Calc(b,c-1)-Calc(a-1,d)【代码】#include <cstdio>#include <iostream>#include <algorithm>#include <se

2017-05-25 12:04:33 291

原创 BZOJ1101: [POI2007]Zap

BZOJ1101感觉看着别人推的式子看了一万年才大概也许看懂了!? QAQ感觉这一篇写的挺详细的就直接贴别人的好了。 然后至于后面的分块。其实我也看了半天才大概也许明白。。 式子最后推成了 (令a为较小值)∑d=1a(μ(d)∗⌊ad⌋⌊bd⌋)\sum_{d=1}^a{(μ(d)*\lfloor{\frac{a}{d}}\rfloor\lfloor{\frac{b}{d}}\rfloor}

2017-05-25 11:36:36 371

原创 BZOJ2797: [Poi2012]Squarks

BZOJ2797将a{a}数组排序。 a1=x1+x2,a2=x1+x3a_1=x_1+x_2,a_2=x_1+x_3 x2+x3x_2+x_3可能为a1……ana_1……a_n 发现如果确定了x1,x2,x3x_1,x_2,x_3,在数组a中删去x1+x2,x1+x3,x2+x3x_1+x_2,x_1+x_3,x_2+x_3 剩下的最小的就为x1+x4x_1+x_4,那么x4x_4就确定了

2017-05-24 19:49:25 369

原创 BZOJ1935: [Shoi2007]Tree 园丁的烦恼

BZOJ1935传送门1176,22831176,2283三倍EXPEXP。 戳这里–>BZOJ2283【代码】#include <cstdio>#include <iostream>#include <algorithm>#define N 500005#define M 10000005using namespace std;typedef long long ll;int r

2017-05-24 12:12:46 632

原创 BZOJ3295: [Cqoi2011]动态逆序对

BZOJ3295删除好像挺麻烦的。。那就考虑倒一下,也就是倒序加值。 考虑一个值加入进来,对答案的影响就是,它左边的比它大的个数和它右边比它小的个数加和。 先只考虑一半。只考虑右边比它小的数的个数。那么假设当前加入的为一个三元组 (t,pos,x)(t,pos,x),表示时间,位置和值。那么就是求满足(tt<t,ppos>pos,xx<x)(tt<t,ppos>pos,xx<x)的三元组(tt

2017-05-24 11:50:35 262

原创 BZOJ2683: 简单题

BZOJ2683传送门 BZOJ1176几乎一样啊 戳这里–>BZOJ1176然后这个题 应 该? 要开long long 吧。 (日常打错变量名QAQ。。)【代码】#include <cstdio>#include <iostream>#include <algorithm>#include <cstring>#include <queue>#include <cmath>#de

2017-05-23 20:00:05 324

原创 BZOJ3262: 陌上花开

BZOJ3262先按第一维排序,然后以第二维为序做CDQ分治,第三维用树状数组维护。 先考虑没有相同属性的花,即任意两朵花A,B之间不存在相互包含关系。 那么正常做就好了。 再考虑加入相同属性的花对答案有什么影响。 那么若A>BA>B,对AA的贡献应为numBnum_B,numinum_i表示第ii种花的个数。 那么对于同一个集合内的相同的花,每一个的答案应+=numi−1+=num_i-

2017-05-23 19:37:02 427

原创 BZOJ1176: [Balkan2007]Mokia

BZOJ1176算得上是CDQ分治三维偏序的模板题了吧QAQ。 我们就把查询操作容斥一下,就变成了求sum(1,1,x2,y2)−sum(1,1,x1−1,y2)−sum(1,1,x2,y1−1)+sum(1,1,x1−1,y1−1)sum(1,1,x2,y2)-sum(1,1,x1-1,y2)-sum(1,1,x2,y1-1)+sum(1,1,x1-1,y1-1) 那么相当于我们只需要维护一个

2017-05-23 16:48:39 633

原创 BZOJ1013: [JSOI2008]球形空间产生器sphere

BZOJ1013根据两点之间距离相等列出nn个方程,然后移一下项发现就是个n元1次方程,然后高斯消元就好了。然后就是注意一下输出格式。。其它的已经很和善了,保证有解。【代码】#include <cstdio>#include <iostream>#include <algorithm>#include <cstring>#include <queue>#include <cmath>#d

2017-05-18 16:13:47 314

原创 hihocoder 1195&1196

1195 1196存一发高斯消元模板。(填坑) 1195是纯模板,1196是解异或方程组。 代码中有注释。【代码】1195#include <cstdio>#include <iostream>#include <algorithm>#include <cstring>#include <queue>#include <cmath>#define N 505#define M

2017-05-18 14:27:37 286

原创 POJ1113:Wall

POJ1113求完凸包算总长度,然后+2piL。结束。 我还sb的把每个角都求了一遍加起来。。后来发现其实就是360°。 重要的事情说三遍:用C++!用C++!用C++!【代码】#include <cstdio>#include <iostream>#include <algorithm>#include <cmath>#define N 10005#define INF 0x7fff

2017-05-17 18:51:42 259

原创 POJ1743:Musical Theme

Poj1743就先把相邻两个数相减构成一个新的数组再做咯。(再离散化一下) 然后发现题目要求的就是两个后缀的最长不相交前缀。 那么二分+判定就好了。具体看看代码就明白了。【代码】#include <cstdio>#include <iostream>#include <algorithm>#include <cstring>#include <queue>#include <cmath

2017-05-17 16:43:32 268

原创 POJ4002Alice's mooncake shop

POJ4002蠢哭了。。又是看错题又是偷懒搞错。。 然后直接复制忘了改东西。。然后wa了一两面才检查到这里。。一口老血喷出来。我* 应该是然后sb的我直接复制下来写成了: QAQQAQ原来我斜率优化写的是对的QAQQAQ 一度放弃斜率优化改线段树改到怀疑人生……其实只需要求出每个时刻的最小花费就行啦,因为读懂题就发现每个时刻每个顾客都是独立的。 所以有递推式f[i]=min(a[j]+S∗

2017-05-08 18:34:18 379

原创 POJ2187Beauty Contest

POJ2187平面最远点对裸题。 来填坑了QAQ。 (求完凸包暴力都能过差评)【代码】#include <cstdio>#include <iostream>#include <cstring>#include <algorithm>#define N 50005using namespace std;typedef long long ll;ll read(){ ll x

2017-05-08 16:11:49 269

原创 BZOJ2938: [Poi2000]病毒

BZOJ2938如果存在一个无限长的安全代码段,就是不停的匹配但无法匹配到标记节点。也就是AC自动机中Trie图成环(不包含被标记点)。建完Trie图后找环即可。【代码】#include <cstdio>#include <iostream>#include <algorithm>#include <cstring>#include <queue>#define N 30005using

2017-05-05 08:54:59 317

原创 BZOJ1030: [JSOI2007]文本生成器

BZOJ1030给定很多串,很容易想到会用TrieTrie或之类的算法啦、 单纯的TrieTrie好像不太可做,就想想AC自动机AC自动机辣。(反正不是我想的) 然后直接计算不好算辣,就容斥一下求一个串都没出现的方案数辣。 然后每次转移的时候如果是被标记的结束节点就不管啦for(int i=1;i<=m;i++) { for(int j=0;j<=cnt;j++)

2017-05-04 19:25:12 335

原创 Hdu2222Keywords Search

Hdu2222存一发AC自动机模板…【代码】#include <cstdio>#include <iostream>#include <algorithm>#include <cstring>#include <queue>#define N 500005#define INF 1LL<<60using namespace std;typedef long long ll;ll r

2017-05-04 11:39:21 322

原创 NOI2015 Day2

Day2Day2不出意料的血崩。。第一题UOJUOJ还被附加数据卡了三分。。第二题只会打40分暴力,看出来了后缀数组后面的还是不会打(结果后来发现后缀数组不光打错。。板子都有问题。。然后成功被暴力吊打)第三题看起来就很烦。。dpdp还最小流,,哪一个都不好做啊QAQQAQ,打到一半弃掉弃掉!然而某大佬表我说,“前年暑假我p都不会的时候这个题都会打一二十”。我真的被表的无fuckfuck说..前年暑假

2017-05-03 21:04:48 500

原创 NOI2015 Day1

不知不觉省选完已经颓了半个月了!!!还两个月就要NOINOI了。。很慌。。 前几天做NOI2016NOI2016翻车以后。。今天开始先做2015Day12015 Day1 第一题: 这么裸这么和善的并查集么。。(我才不会告诉你先做的时候看错了题结果竟然还有80。。数据不要这么水吧。。)第二题: 这么SBSB的树剖吗!?InstallInstall就查询该点到根路径上0的个数

2017-05-02 16:28:11 561

空空如也

空空如也

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

TA关注的人

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