自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zoro_n的博客

只想走得更远

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

原创 HDU - 4992 Primitive Roots 【原根】

题意:                让你求出一个数的全部原根,如果没有,输出-1;题解“:          首先先判断该数有无原根,          一个数x若有原根 则必然满足 n=1,2,4,2p,p^r          若有原根,再暴力枚举找到最小的原根,分解质因数phi(n);          则从2~n-1 中有a 满足 a^ph

2017-10-11 10:26:09 581

原创 hdu 4920 Ugly Problem [模拟+大数减法]

点击打开链接题意:                 给你一个巨大无比的数字。                让你拆成50个以内的回文数字。题解:               长度最长1000位。               成为回文很明显可以想到折半找, 如果 前半部分反转之后小于后半部分,直接可以构成一个回文,长度直接减半。       

2017-10-10 21:00:28 302

原创 POJ - 2417 Discrete Logging 【bsgs模板】

点击打开链接题意:         xy≡z(modp)    已知x,z,p 。 求y。题解:              xy≡z(modp)根据费马小定理:xp−1≡1。 如果y已经枚举到了p-1了,继续枚举的话就会产生循环。 所以,在暴搜中y的枚举范围就是0……p-1把y分成p−1−−−−√分

2017-10-07 21:31:22 326

转载 二次剩余Cipolla算法 【转载a_crazy_czy】

大佬博客传送门首先我们要弄清楚什么叫二次剩余,其实就是对于给定的p(p∈P)和n,如果有x满足x2≡n(modp),那么n在模p意义下就是二次剩余。说白了就是模意义下能否开根号。 我们只讨论p为奇素数的情况。 我们先定义Fp,这是一个数域,其实就是0到p−1这p个数与模p意义下加减乘除运算构成的集合。定理1:对于x2≡n(modp),总共有p−12个的n能使

2017-10-07 15:46:15 594

原创 POJ 1845 Sumdiv 【推公式 | 逆元】

题意:           求 a^b 所有因子和。题解:        a={p1^x1*p2^x2.....pn^xn}        sum(a^b)= (p1^0+p1^1+...+p1^x1).......;        就是算多个等比数列和。       等比数列求和公式 (a^n+1-1)/(a-1)       除法需要逆元,

2017-10-06 15:26:22 273

原创 POJ 1811 Prime Test 【快速判质+因子分解】【模板】

题意:         给你一个数,判断是否是素数,是的话输出prime 不是素数输出最小因子。题解:      快速判质Miller_Rabin 算法, 根据费马小定理 a^(p-1)%p==1 检测是否符合素数性质,当然有伪素数,不过概率很小,多测几次就行了。      然后Pollard 分解因子,顺序是无序的,然后找到最小的那个。

2017-10-06 15:19:54 287

原创 计蒜客 Frequent Subsets Problem 【暴力】

题意:                给你n个集合,每个集合m个数,再给你一个慨率s        问所有数任意组合成的集合在n个集合中出现次数大于 s&n的有多少。        sb超级阅读理解题。题解:                每个数用二进制记录他分别出现在那些集合里,因为集合最大50.so ll可以存下。       然后依次枚

2017-09-25 21:39:20 230

原创 hihododer #1584 : Bounce 【规律】

题意:              给你一个n*m的棋盘, 起初一个弹珠从棋盘左上角开始朝右下方45°方向弹射,遇到墙之后转向90°。遇到拐角停止。         问最后小球停止后,只经过一次的网格有多少个。题解:         只经过一次的网格数=路径长度-走过两次的方格数*2;         路径长度= lcm(n-1,m-1);

2017-09-24 19:56:14 227

原创 cf CodeForces - 165E 【状压dp】

题意:        给你n个数,相互按位且运算, 输出a1-an。       满足num[i]&a[i]==0; a[i]属于num。 没有满足的输出-1。题解:               没个数最大4e6 也就是1        a&(a^N)==0;        dp[i] 表示状态i & dp[i]==0;        所以输

2017-09-22 13:36:35 319

原创 cf 678E - Another Sith Tournament 【状压dp】

题意:       一共有n个人打擂台,第一个人是主角,他能任意选择那两个人相互比较,赢得成为擂主,继续和其他人比较,      问,主角想赢的概率最大多大。题解:       dp[i][j]代表存活人集合为i的情况下j为擂主,主角获胜的概率,      so : dp[stat][i]=max(dp[stat][i],a[i][j]*dp[stat^

2017-09-20 22:54:32 264

原创 hdu 6215 Brute Force Sorting 【链表+队列】

题意:         给你一个数列,每次删除所有a[i]. a[i]满足, a[i]=a[i+1],          从而获得一个新数列,如果新数列还有这样的数,重复以上操作。        直到数列成为单调递增为止。题解:        很容易想到链表模拟,但是直接一遍一遍扫肯定tle        然后可以发现,每次删掉一个数之后,受影响的只

2017-09-19 13:32:39 377

原创 poj 2411 Mondriaan's Dream 【状压dp】

题意:          一块大小n*m的地,让你用1*2 or 2*1 的瓷砖铺满。          问有多少种普法。题解:         w,h        O(11*2^11)#include#include#include#include#define ll long longusing namespace std;cons

2017-09-15 13:45:24 214

原创 hdu 2167 Pebbles[状压dp]

点击打开链接题意:           给你一个n*n的方格,每个方格一个数字,现在让你取其中的一些数字让数字和最大,        限制条件:如果取了一个数字,那么这个数字周围的八个数字就不能再取题解:          方格最大15*15,每层2^15种情况,但是其中有很多种非法情况。          复杂度约为 2e7,所以直

2017-09-14 21:41:04 195

原创 hdu 5450 [状亚dp][没看懂题,待补]

先贴上个代码。#include #define ll long longusing namespace std;const int maxn=105;const int maxp=15;const int maxs=200000;const int mod=10007;int N,P,k;int dp[maxn][maxs];bool exist[maxn];int

2017-09-08 10:17:56 483

原创 cf 485d Maximum Value 【二分】

题意:           给你n个数,求,max( )(1 ≤ i, j ≤ n and ai ≥ aj)。        题解:        n=1e6。        先排个序,再去重。        然后我们查找每个数 ai 的右边某个数取余他本身最大,        很明显,取余操作是周期性的。n所以我们每次取 ai 个。这样复杂度最惨是

2017-09-05 17:55:56 497

原创 cf 389D Fox and Minimal path 【构造】

点击打开链接题意:                 给你一个整数n,让你构造一个地图,该地图包含n个顶点,要求你构造的地图顶点1->顶点2 的最短路条数为n。题解:          已知n可以拆成二进制形式。          那么我们可以很容易先构造一个2^31条最短路的地图,接下来再构造一条长度为31的最短路。          接下来

2017-09-05 17:31:52 321

原创 cf 672d Robin Hood 【二分】

点击打开链接题意:             总共n个人,每个人有ci个金币,拥有k次操作,每次操作可以把金币最多的人减少一个金币,金币最少的一个人增加一个金币。             问k次操作后最后所有人中金币最多的人币金币最少的人多多少金币。题解:       已知n5e5.k 1e9 ,模拟肯定gg。           二分答案验证

2017-08-30 15:43:19 324

原创 cf 550c Divisibility by Eight 【规律】

点击打开链接题意:            给你一个100位的数字,问你去掉某些位数能不能使他能被8整除。            并输出这个数。(任意满足题意的一个即可)题解:          有一点,1000的倍数全部都能被8整除,所以我们只要枚举1,2,3位数能否被8整除即可。#include #define ll lon

2017-08-22 00:49:17 291

原创 cf 729D Sea Battle 【模拟,贪心】

点击打开链接题意:           在一个线性长度为n的地图里面,有a条船,每条船长度为b ,已经被探查的区域有c个。         现在问你最少需要探查几次才一定可以探查到船,题解:         很明显,船有一定的长度,在该长度的任何一个地方探查都可以探查到船,所以我们最优的方案当然是每隔船长度-1探查一次,每次check一下,

2017-08-22 00:38:58 317

原创 POJ 1222 EXTENDED LIGHTS OUT【暴力dfs】

点击打开链接题意:           给你一个5*6 的方格,每个方格里面分别由1or0.           每次操作一个方格,会把该方格and该方格的上下左右四个方向的方格里面的数字取反,          现在给你一个已经有数字的方格,让你给出一个能把方格全部变成0的方案,题解:         很明显的状态压缩,枚举第一行后面的都可以递推出来,2^

2017-08-22 00:23:39 346

原创 hdu 5887 Herbs Gathering【dfs+贪心】

点击打开链接题意:            给你一个背包,有确定的背包容量。然后有许多商品,每个商品有它的体积和价值,问你最多能装多少。           很明显的一个01背包问题,但是体积和价值1e9  非常大,不能dp            搜索的话100个物品, 直接暴搜2^100 也会爆掉。            那么只能剪枝喽, 先把所有物品按照性

2017-08-22 00:11:52 345

原创 hdu 5037 Frog 【贪心】

点击打开链接题意:           一个青蛙过河,他它跳跃范围是k (k范围内能跳到任何地方),它不能游泳,只能通过河上面的木桩,可以看作是线性的,抵达m起点是0,          你首先一定要让它能过和,然后让他条约次数最大。题解:         很明显,在他的跳跃范围内,他一定会选择一个最远的点来跳跃。如果这个范围内有石头,你就不应该添加石头,你在改石头

2017-08-21 15:07:18 276

原创 UVALive 7147 World Cup 【贪心】

点击打开链接题意:        世界杯比赛,有n个队伍比赛,m个队伍可以晋级。 给你每胜一局,平一局,负一局的分分情况。        问你如果一个人最幸运的情况下,最少得多少分就可以晋级。                    和一个人最惨的情况下,最多得多少分都不能晋级。题解:       其实就以上的两个问题可以转化成,第m名的最

2017-08-19 10:56:08 247

原创 bzoj 3670 [Noi2014]动物园【kmp】

点击打开链接Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 2866  Solved: 1545[Submit][Status][Discuss]Description近日,园长发现动物园中好吃懒做的动物越来越多了。例如企鹅,只会卖萌向游客要吃的。为了整治动物园的不良风气,让动物们凭自己的真才实学向

2017-08-11 23:11:58 214

原创 hdu 6103 Kirinriki 【尺取】

点击打开链接题意:       给你一个区间,定义了两个子区间的距离不能大于m ,问满足这样距离的子区间最大长度。       区间距离dis(x,y)= abs(x1-yn)+abs(x2-yn-1).......;题解:       2s 5000长度,总长度20000.         n^2 勉强能过。       很明显可以看出来所有满足题

2017-08-11 00:15:00 248

原创 玲珑 1149 - Buildings 【rmq+二分】

点击打开链接题意:      给你一个序列,让你求出符合(区间最大值-区间最小值)      序列大小200000理解:      很显然,n^2 会挂,     那么用st表,或是线段树,什么的维护个区间最值,就行了,      查询所有区间肯定不能一个一个查,因为区间数也是n^2.因为区间最值差是单调非减的,所以二分以下区间最

2017-07-30 22:41:08 348 2

原创 玲珑 1145 - A simple math problem

点击打开链接题意:         给你n值,求⌊10an⌋⌊10an⌋.n题解:找规律  一眼看出,10an=n+a(n-1)⌊10a  上来交了个n+lg(n-1+lg(n-2+lg(n-3)));wa,,,,,,右交一发写到9.。。。。还是wa。。。。这我就很纳闷了。最后老老实实求一下会不会进位ac#in

2017-07-30 22:04:46 187

原创 hdu 6053 TrickGCD 【容斥&筛法|莫比乌斯】

点击打开链接题意:              给你一个a序列,让你自己构造b序列,b序列需要满足每个数 bi=2.        问你这样的序列有多少个。题解:       1,筛法        枚举gcd的值,bi的取值最大ai. 所以每个位置有ai/gcd种情况,  .然后把这种情况全部弄成一块,快速幂,logn,       最后

2017-07-28 17:33:27 407

原创 cf 832D Misha, Grisha and Underground 【lca+倍增】

点击打开链接题意:           给你一个树,再给你三个点,然后问你任意两个点到另外一个点中间经过的相同的节点最大个数。题解:         照题解上面,求出任意两个点的公共祖先,保留深度最大的那一个。该点即为三个点的交汇点。         然后求出交汇点到三点的最大距离即为答案。下面附上官方题解:

2017-07-27 11:50:57 463

原创 cf 832B Petya and Exam

点击打开链接题意:       题意卡我一小时,很不友好,,,,       给你两个串,第一个串里面的字母都是good 字母,       第二个串是模式串,里面除了字母还有?和*(只有一个)       ?可以替换所有good字母, *可以替换所有坏字母和空格(可以是多个坏字母!!!这点卡了我很久,也不举一个样例。。。)       然后q次

2017-07-26 17:52:13 343

原创 hdu 6034 Balala Power!

点击打开链接题意:        给你26个字母,他们对应的权值分别是0~25;权值由你决定。        现在让你决定他们的权值,让他们的和最大,并把最大的和输出出来。      题解:       题意很简单,思路也很简单,,可是我wa了10来次,,,,,,,       最开始看错题,,以为 |s|‘ 小于等于100000, 那岂不是最长4位

2017-07-26 10:59:54 210

原创 Poj 1696 Space Ant 【极角排序】

点击打开链接题意:         一个蚂蚁吃东西,给出n个东西的坐标,蚂蚁能从任意起点开始         1、蚂蚁不会右转。         2、蚂蚁走过的地方不会再走。         问蚂蚁最多能吃那些东西,输出吃东西的顺序。题解:         很容易想到逆时针吃肯定能吃完。         那么就找到最最下角的点作为

2017-07-25 11:20:28 213

原创 POJ 1410 Intersection [线段相交+点在多边形内]

点击打开链接题意:       给你一个矩形,一条线段。请你判断线段和矩形的关系,相交T 否则 F       注意一点线段完全在矩形内的话也是T题解:       每个线段找出来,判断线段相交,       构造出多边形,判断线段两点和矩形关系。#include#include#include#include#i

2017-07-24 08:34:23 397

原创 POJ 1066 Treasure Hunt 【线段相交】

点击打开链接题意:            一个正方形的金字塔,本身有四道墙,内部还有n道相互交错的墙,每道墙的首尾肯定是在外墙上。            然后告诉你宝藏坐标,问你找到宝藏,最少需要爆破几道墙。题解:           我注意到了精度,0.1,  所以我直接枚举了宝藏位置到四面外墙的所有点,然后求出最少的破墙数。         

2017-07-23 10:49:46 191

原创 poj 2653 Pick-up sticks【线段相交】

点击打开链接题意:        依次向地上仍n个棍子(按先后顺序),后仍的如果和前面已经扔过的有交点,那么会叠加上去,        题目问最后最上面的木棍有哪些。题解:        从前向后判断每个木棒上面有没有其他木棒,有的话,直接break。        否则tle。#include#include#i

2017-07-23 09:25:53 162

原创 poj 1269 Intersecting Lines 【直线相交】

点击打开链接题意:         给你两个条直线,判断两条直线的关系,         如果相交于一点,输出POINT 和该点坐标,         如果重合输出 LINE         如果平行输出 NONE题解:        赤裸裸的判断两线相交,,#include#include#include#

2017-07-22 17:56:18 166

原创 Poj 3304 Segments 【线段于直线相交】

点击打开链接题意:        给你n条线段,问你有没有可能存在一条直线可以让所有线段在这条直线上的投影交于一点。题解:        题意可以转化成所有是否存在一直线与所有线段有交点,而要求的直线就是该直线的一条垂线。垂足即是所有线段投影的焦点,        那么枚举所有线段的端点,来枚举这条直线,因为如果一条直线能能和

2017-07-22 17:07:10 191

原创 poj 2398 Toy Storage 【二分】

点击打开链接题意 :            给你个箱子,然后n个隔板把箱子分成 n+1各区域。            然后给你最后玩具的具体位置坐标。而且保证玩具不会在隔板上也不会在箱子外面。            个上一题的区别是这次问你放了多少个玩具的区间分别是多少个。题解:       

2017-07-22 12:06:12 237

原创 POJ 2318 TOYS 【二分】【点线关系】

点击打开链接题意:             给你个箱子,然后n个隔板把箱子分成 n+1各区域。            然后给你最后玩具的具体位置坐标。而且保证玩具不会在隔板上也不会在箱子外面。问你每个区域放了多少玩具,题解:           很容易想到二分别吧,把所有隔板当作线段存起来,并且加上箱子的左右一共n+1条线。           然后枚举

2017-07-22 11:29:33 193

转载 【转】cf 825F - 19 String Compression 【kmp+dp】

@bin_gege点击打开链接题意:             给你一个长度为8000的字符串,让你压缩,输出压缩后的长度,             例如 ababcababc 压缩后 ab2c1ab2c1. 长度为10              aaaaaaaaaa 压缩后 a10                  len=3题解:   

2017-07-20 17:14:30 262

空空如也

空空如也

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

TA关注的人

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