自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ZMOIYNLP的专栏

多铆蒸刚,炮塔至上! 亿万炮塔,亿万荣光!

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

原创 为什么线性筛欧拉函数i%prime[j]==0的时候phi[i*prime[j]]=phi[i]*prime[j]

看贾志鹏线性筛的时候想起来的。 我有一个繁琐的证明- -。 证明ϕ(pm)=p×ϕ(m),p为素数,m∈Z\phi(pm)=p\times\phi(m),p为素数,m\in \Bbb Z. 设m=pα⋅m′,α,m′∈N,(pα,m′)=1.m=p^{\alpha}\cdot m',\;\alpha,m'\in\Bbb N,(p^{\alpha},m')=1. 那么ϕ(m)=ϕ(m′)⋅ϕ(

2015-03-23 17:34:40 1940

原创 为什么phi(p^n)=p^n-p^(n-1)

多亏yan Big God点拨我这愚笨的头脑…… 和1到pnp^n中与pnp^n不互质的数就是能被p整除的数,而这样的数共有pnp=pn−1\frac {p^n}{p}=p^{n-1}个,所以和pnp^n互质的数就有pn−pn−1p^n-p^{n-1}个。

2015-03-22 21:45:53 1975

原创 【bzoj1004】Cards【Polya计数定理】【递推】

传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1004 这是一道Polya好题~ 根据那个什么引理,本质不同的方案数等于每个置换下不同的方案数的平均值。 但是Polya定理是: l=1|G|∑f∈Gkm(f)l=\frac 1{|G|} \sum_{f \in G}{k^{m(f)}} 而这里是有三种颜色,求每个置换里每个循环涂同样

2015-03-22 20:48:02 927

原创 【UVa1391】宇航员分组Astronauts【2-SAT】【强连通分量】

大意:有n个宇航员,按照年龄划分,年龄低于平均年龄的是年轻宇航员,而年龄大于等于平均年龄的是老练的宇航员。 现在要分配他们去A,B,C三个空间站,其中A站只有老练的宇航员才能去,而B站是只有年轻的才能去,C站都可以去。 有m对宇航员相互讨厌,不能让他们在同一个空间站工作。 输出每个宇航员应分配到哪个空间站,如果没有则输出No solution.这道题只要构出图来就很好办啦~~ 由于每个宇航员

2015-03-19 15:37:30 728

原创 【UVa12167】 Proving Equivalences 【强连通分量】

给你一个有向图,问你至少添加几条有向边,使得新图强连通。 求出强连通分量缩点易于下一步处理。 这样我们得到了一个DAG。 这个DAG里有许多出度为零(a个)或者入度为零(b个)的点。 要想让它们都强连通,显然可以将它们两两配对头尾相接形成一个环,多余的随便和哪个已经配对的连都行。 那么答案为max(a,b). 要是原图已经强连通,答案是0不是1。#include<stack>#incl

2015-03-18 11:35:33 584

原创 【UVa11324】最大团The Largest Clique【强联通分量】【DAG】

鉴于Uva比较难上…… 有一张有向图G,求一个结点数最大的结点集,使得该结点集中任意两个节点u和v满足要么u能到v,要么v能到u(可以互相到达)。 首先求强联通分量,因为同一个强联通分量里的点要么都选要么都不选…… 然后缩点得到一个有向无环图(DAG)。。 令收缩后的点具有一个点权,代表这个SCC(强联通分量)原来的结点数。。 然后动态规划求最长路即可。这题真是cs。。。 我拓扑排序排炸

2015-03-18 11:24:03 666

原创 【bzoj2243】【sdoi2011】染色【树链剖分】

这题就一裸的树链剖分。。。 开个结构体data记录颜色段数,左右端点颜色,合并及下传标记和项链工厂一样。。 注意从下往上提的时候把左右端点颜色反过来(详见代码) 但是我还是犯了我曾经犯过的错误。。。 预处理建线段树的时候我居然在build过程里用了idx! 明明idx是树上节点到线段树节点的映射,不能这么用。。 于是我只好又写for(int i=1;i<=n;++i) A[idx[i]]

2015-03-15 14:17:02 523

原创 【bzoj1432】Function【结论题】

结论题的特点是:代码往往都很短…… 我先说一下答案:n=1的时候输出1,其余时候输出2*k,假如k>(n>>1)的话,令k=n-k+1(因为1和n-1是对称的)。 为什么呢…… 我们画一个图。 这是5条直线(函数)。可以看到,这些点以 A BC DEF GHIJ 的方式排列。 第一个部分只经过A(这样一定是最优的) 第二个部分只经过BAC 第三个部分只经过DBECF……

2015-03-12 20:01:37 904

原创 【bzoj3000】Big Number【数论】【Stirling公式】

题意:问你⌊logkn!⌋+1是多少(2≤n≤231,k≤200)。我一开始想:哦?我们可以用根号n的时间把n的素因子都找出来,然后根据阶乘的素因子分解式分别计算对数然后加起来…… 呵呵,WA了。 问题是,n的素因子确实可以在O(\sqrt n)的时间内分解出来,但是n!

2015-03-12 11:52:30 725

原创 【bzoj1036】树的统计Count【树链剖分】【ZKW大法好】【卡常大法好】

关于这个树上路径端点会重合的问题,我们只要不判断x==y就行了。详见被注释呵呵的地方。#include<cstdio>#include<cstring>#include<iostream>using namespace std;const int maxn=30001;typedef int arr[maxn];typedef int arr1[maxn<<1];arr fa,top,

2015-03-12 11:43:27 825

原创 【codvs3304 3305 3306】水果姐逛水果街系列【线段树】【树链剖分】

这三道题一个类型的…… 第一道题是有一排商店,可以买水果也可以卖水果,买水果和卖水果的价钱一样。 问你从商店x走到商店y,买卖所得最大收益是多少。 我们可以发现朴素的办法是一路扫过去,记录当前最小值,然后更新收益。 这样应该会T(我没试过) 这样丢失了很多信息。 我们考虑一下能不能存起来。 发现解满足区间加法。 即【L,R】中最大的收益要么是【L,K】中的收益,要么是【K,R】中的收

2015-03-11 23:01:45 689

原创 【spoj375】Query on a tree【树链剖分】【或者动态树,那样常数就完了T_T】

hahahaha!今天(3月12)我终于ac了……orz Yan Big God!他问我能不能$O(n)$ 建树……并且提供了一个“反映射“的思想。我想我们连反映射都可以不要……鉴于ZKW的特殊性……我们只要

2015-03-11 20:02:49 745

原创 【bzoj1858】【Scoi2010】序列操作【位运算】【卡常大法好】

其实这道题用线段树神马的应该是可做的…… 但是鉴于我跪烂的位运算水平…… 我决定用位运算压常数水过去~~ (其实要是数据强的话我早就完了) 我一次又一次犯的,b错误耗费了我一下午的时间…… 这就是蒟蒻啊- - 一开始不知怎么回事,命令总是读不进去- - 然后发现~0U<<(r+1)有的时候不总是好用。 printf("%u\n",~0U<<32); int r=32;

2015-03-10 21:08:26 688

原创 【bzoj2284】【SDOI2011】贪吃蛇【搜索】【位运算】【卡常大法好】

这道题真是太精妙了…… 传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2284 首先这题棋盘的范围是15不是12。 本来原题是有special Judge的,因为要输出方案…… 但是这是oj嘛。。就输出最短时间好了- - 我一开始愚蠢的想法是xy各用一个char存,蛇长最多为8,就开个结构体数组,再开一个长度为4的记录事物的位置……

2015-03-09 16:29:56 1818

原创 【poj2942】圆桌骑士Knights of the Round Table【双连通分量】【二分图】【奇圈】

传送门:http://poj.org/problem?id=2942尽管我承认这题我几乎是对着书抄的代码(因为我还不熟- -),但是我还是WA了三次- -数组又没清零。基本思想就是:首先把不互相憎恨的骑士连边。求双连通分量bcc。判断每个bcc是不是二分图,是的话这个二分图里的骑士都没法参加会议。因为形不成奇圈。奇圈就是奇数个点连成的圈啦~二分图是不可能有奇圈的(有的话

2015-03-03 16:54:24 1274

原创 【bzoj1269】【AHOI2006】文本编辑器editor【Splay】

被文艺平衡树折磨了一天以后发现这道题就很好做啦~~~但是c++喜闻乐见的gets十分不好使。如果insert的字符串有空格,gets会跳过去不读空格。好在题目给了ASCII码的范围。这样就可做了。写的时候不要把功能一次性全写完,先写个基本的,排除一下低级错误……我把Move和insert写完以后发现Splay又出了几个沙茶错误- -还有居然把Next和Prev搞反了- -…

2015-03-02 14:13:21 677

原创 【bzoj3223】文艺平衡树【Splay】【呵呵】

传送门:bzoj3223:文艺平衡树裸的区间翻转啦……本蒟蒻一开始就犯了一个致命的错误:按照splay节点里存的数来查找节点。YanBigGod说:应该查第k大。Orz。于是乎我查了第k大。交上去T了。原来是查第k大的时候卡死了。还好我写的非递归- -不然就爆栈了……但是我发现我又犯了错误:我原来写的是:inline int select(int

2015-03-01 14:53:55 666

空空如也

空空如也

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

TA关注的人

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