自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ruclion的专栏

痴的不是凯旋,而是战斗!

  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

原创 hdu5322 三次多校1007

题目描述:题解:重点:代码:

2015-07-29 13:41:15 966

原创 UVALive 6914

题目描述:一个8*8的格子.给你一个最多可以放的障碍物的数目.一个人只能往下或者往右走.问把00点和(n-1)(m-1)点能够隔开的总放障碍的方法数.题解:首先我们注意到n很小,可以状压. 如果我们不状压怎么样?f[i][j][k]隔断到i,j点,用了k个障碍. 那么i,j放不放障碍呢?放的话,好转移.不放的话,我们要考虑它的上方和左方放不放点.有一个放和两个都放好弄.两个都不放就不会了. 于是我

2015-07-27 10:50:41 428

原创 UVALive 6912

题目描述:超级好超级赞的一道题.一共有1000个灯.一共最多有1000个开关.每个开关都是一个质数会控制灯的编号是这个质数倍数的灯.保证每个灯的质数都不一样.问最多能让几个灯同时亮.题解:开灯问题目前还没遇到贪心的方法…这个题目也是. 质数是关键. 我们想如果开关很少,就可以二进制暴力枚举.但是开关很多. 那么有没有一些开关是不用暴力枚举的.那些大于sqrt(n)的开关和开关之间是没有影响的!!!

2015-07-27 10:41:25 621

原创 UVALive 6908

题目描述:题意很啰嗦,总结起来就是:一个电动车,可以有4个档,每种档有自己的特性可以节省体力.一共可以换10次档.一共有50度点.一共有1000个段段,每个段和段之间都可以换一下档. 问按顺序跑完这么多区间之后花费的最少体力.还有100组数据题解:发现把所有的状态dp表示刚好复杂度是1e8.(增加一位表示当前是几档) 这时候千万不能记忆化搜索.只有在能够减掉很多分枝的情况下才能够用.因为递归 特别

2015-07-27 10:31:28 394

原创 第一场训练赛UVALive 6907

题目描述:给出一个哑铃图的定义. 一个图中分成点个数相等的两堆,每堆内部是一个完全图.堆与堆之间只有一条边相连. 现在给出一个图,不一定联通. 看它的每一个联通块是不是我们的哑铃图. 输出满足哑铃图的个数.题解:法一:用桥来判断. 哑铃图一定只有一个桥吗?发现只有一个特例,两边是2个点的时候都是桥. 其他情况有且只有一个桥. 那么有一个桥的一定是哑铃图吗?还要求桥的两边点数一样,并且边数是一个

2015-07-27 10:23:18 482

原创 UVALive 6907

题目描述:时间限制:20000ms 单点时限:2000ms 内存限制:256MB 描述 假定我们有一棵有根树,其中每个点上有权。它被称为树堆当且仅当每个点的权值都大于等于它的所有孩子。现在我们有一棵有根树,它的每个点上有权。我们可以不断对它进行如下的操作:选择一个非根结点v,删除v,然后将v的所有孩子连到v的父亲上。不断进行以上操作,此时可能一个子树会形成树堆。对树上的每个结点x,求出以这种

2015-07-27 09:59:59 439

原创 多校第二场1006

题目描述:一共8个点,可能连很多条边,没有重边. 现在给这些边染两种颜色, 要求每一个点的边自己的黄边和红边个数相等. 问有多少种染色方法.题解:8个点,最多28条边.如果挑一个点和它相关的边不管,剩下的边都枚举,那么就是21条边.可以直接状态枚举21条边的情况.但是有100组数据. 发现每一个点度数一定是偶数,那么这满足偶数的图,除去一个点之后的边数一定小于21,因为一个点不能向外连7个边,只能连

2015-07-27 00:01:44 328

原创 多校第二场1008 He is flying

题目描述:1≤n≤100000 n个区间,每个区间有一个长度.,也可以看做权值. n个区间是按照实际的顺序给的. 现在一个人,要连续的跑这些区间,跑j-i+1个区间的话,会获得j-i+1的hp值,这个区间长度为s[i]+到+s[j]. 限定给出的所有的s的和0≤s≤50000. 问跑长度为0的段段的所有可能情况的hp值的和,长度为1的…长度为s的 都要输出. 注意s[i]可能为0.题解

2015-07-26 23:47:19 318

原创 tc633div1 550分

题目描述:给定原来由一些1~D面值的硬币凑出0~D面值的方案数模1e9+7,询问q次,每次询问移出number个value面值的硬币后凑出D面值的方案数。 每个硬币包括面值一样的硬币都是不同的. 要求q*D的时间复杂度.题解:对于每一个询问,需要d的复杂度算出来dp[d]. 先考虑简单的递推,如果number=1,那么其实dp[d] = f[d]-dp[d-1] 就行了. 这样dp过去.但是如果

2015-07-25 10:50:53 284

原创 多校第一场1010

求第n个数题目描述:Yellowstar likes integers so much that he listed all positive integers in ascending order,but he hates those numbers which can be written as a^b (a, b are positive integers,2<=b<=r),so he rem

2015-07-23 22:43:14 330

原创 多校第一场1006

题目描述:给出一棵树,n~1e5,然后给出m~1e5条特殊的链,每个链有一个权值.现在在树上挑选不相交的链,使得最后的拿到的权值最大.题解:看一个点,是树形dp,但是发现如果u是root,枚举过u的链,发现要暴力求和链上周围的点的dp和.这样会超时. 于是想到快速求一条链的和. 为了好写,我们把求链上连接的儿子的dp值的和转化到链上的权值. sum[u]指u的所有儿子的dp和,这个好想,那么一条

2015-07-23 22:31:43 310

原创 多校第一场 1003

炸弹题目描述:一个树,n~1e5个点,每个点有一个权值,表示可以如果炸掉它,就可以免费炸掉距离他小于等于w[i]的点.每个点的权值<=100; 问最少炸几个可以全部炸完.题解:首先是一个点有一定范围的树上的dp.以前做过的是可以开二维dp[i][j],i是被j点控制的,j不限于i的子树. 但是这道题不能开二维,但是因为权值小于等于100,所以 用g[i][j]表示i为根的子树,从外面获取了炸到i

2015-07-23 22:08:44 313

原创 网络流+二分图总结

一. Dinic跑最大流 1.模板(上限V^2*E) //先init将放边的数组清空,再将[a, b]的g边清空,加边的时候正向边为0, 反向边为1; //MAXN为顶点个数,每个边的flow为此边跑了多少流.正向边为正数,而反向边为负数,但只看差值即可. //复杂度V^2E; const int MAXN = 5000 + 10; const int INF = 1000000000

2015-07-20 22:08:16 1284

原创 poj 1845

约数的和题目描述:A^B的约数的和. A和B~1e5题解:首先求一个数所有约数的和:18的话,有1个2,2个3,那么就是(1+2)*(1+3+3^2). 其次,这么大,如何快速求出1+p+p^2+p^3+p^4….+p^n. 用二分乘上一个共同的倍数就好.重点:关键还是在算一个数的所有约数,考虑对答案的贡献,然后看每一个质数,之后可能情况.代码:long long pow_m(long lon

2015-07-20 16:02:24 308

原创 hdu 4651&hdu 4658

整数拆分题目描述:n~1e5 (1) 把n拆分成小于等于n的数的和,问有多少种拆分方法 (2) 把n拆分成小于等于n的数的和, 并且相同数字的使用个数小于k个.题解:首先是这道题目的解决方法: 比如1+1+1+2+3+3. 其实可以写成3个1,1个2,2个3,用母函数写就是 (1+x+x^2…)(1+x^2+x^4…)(1+x^3+x^6….)…..代表每个数用了几个最高项小于等于n/

2015-07-20 10:58:31 395

原创 poj 2689

题目描述:一个区间,[L,U], U-L<1e6. 并且U>L. U和L int范围内.问在L到U内相邻最近的两个相邻质数和相邻最远的两个相邻质数.题解:区间长度小于1e6,然后合数一定有小于2^16的质因子. 先搞出来2^16的质因子然后乘筛出合数.重点:代码:#include <iostream>#include <cstdio>#include <cstring>#include <s

2015-07-08 21:29:33 359

原创 poj 1811

题目描述:大质数(特别大)的判定质数和分解质数.题解:Miller_Rabin 算法进行素数测试 和 pollard_rho 算法进行质因素分解重点:代码:#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <cmath>#include <ctype.h>#include

2015-07-08 21:26:46 395

原创 hdu 4609

题目描述:1e5个长度1e5以内的棍子,随便挑出3根不同的(长度可以相同)的棍,问组成三角形的概率题解:主要分两块:(1)fft可以快速算出两个棍子和是多少和几个的情况.通过减去单个的和/2后续处理可以得到.(2)有了a+b,并没有a-b.于是思维转换,不对a+b挑c,而是枚举c找a+b.并且定义枚举的c是最大的(这里的最大,如果一样,则标号最大,只是为了不统计重复).这样巧妙地把a-b重点:关键是

2015-07-08 21:24:31 462

原创 poj 1681

题目描述:解法一:和以前摆格子的题目差不多.但是不一样.这个十字只有一种摆放方式,如果确定了上一行的颜色,那么这一行怎么摆就确定了.因此只需要确定第一行,然后往下走就行.i,j是十字的中心.(ij是否放只与它的上一个有关,并且只有一种放法) 解法二:高斯消元.重点是当有自由变元的时候枚举然后倒着推上去..题解:rt重点:代码:#include <iostream>#include <cstdio

2015-07-08 21:18:00 384

原创 poj 2947

题目描述:就是求模7的方程组.然后结果在3到9之间.n~300题解:高斯消元.用公倍数和除以逆元来解.重点:代码:#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <cmath>#include <ctype.h>#include <limits.h>#include <cst

2015-07-08 21:12:59 361

原创 poj3532

算电阻题目描述:1和n之间的电阻.给出了节点之间导线以及电阻值.题解:高斯消元.之前先用电压法构造.统一标号减1.u0定为0,un-1待定.然后定u0到un-1的电流为1,算到方程组里.之后u0的方程组=0,然后每次电阻都写到方程组里,那么un-1算出来其实就是电阻值.重点:电位法,并且假设电流,转换方程.代码:#include <iostream>#include <cstdio>#inclu

2015-07-07 11:36:43 473

原创 poj2345

题目描述:一个工人搞几个暖气,最后都打开题解:%2等于1的高斯消元重点:用^代替加法.代码:#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <cmath>#include <ctype.h>#include <limits.h>#include <cstdlib>#incl

2015-07-07 11:33:34 466

原创 AOJ 2164

题目描述:n个人,k个相同的人不能连续坐一起,n个人只能是A或者B.旋转不算数.求方案数.题解:首先旋转我们可以用波利亚计数.之后变成了:安排x个人,x人内部不超过k,而且x的头和尾如果一样,之和也不能超过k.对于这种,其实是n^2的空间的dp.强制A结尾,并且记录A结尾的A的个数.dp_a[i][j],A开头,i为长度,结尾j个A.dp_b[i][j],B开头,i为长度,结尾j个B.先dp出来这个

2015-07-07 11:31:21 671

原创 poj 1286

题目描述:波利亚计数.有旋转和对称.旋转是gcd,对称画图自己看.之后就是3^x然后再除以2n题解:rt重点:波利亚计数.也可以枚举之后数环的个数代码:#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <cmath>#include <ctype.h>#include <limi

2015-07-07 11:21:18 381

原创 poj2407

题目描述:就是求小于它的互质的个数.但是是广泛定义.1相对于1也算有一个质数.题解:水重点:代码:#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <cmath>#include <ctype.h>#include <limits.h>#include <cstdlib>#i

2015-07-07 11:18:52 366

原创 poj2720

指数模上一个小的合数.题目描述:轮回:定义递归函数f(x) = bf(x-1) if x > 0, and f(0)=1,给出b和x,求f(x)的最后n位数。题解:x^y%p,如果p是质数,那么就有x^p-1=1(modp),指数对p-1取模就行了.但是p不是质数,那么如果x和p互质,可以用欧拉定理:x^phi(p)=1(modp),如果x和p也不互质,那么就是本题,x^(y) = x^(y%phi

2015-07-07 11:15:50 466

原创 poj 3708

题目描述:抽象一下就是:先给出一个100位的大整数.转换成d<100进制的数.然后有一个同样的目标数.d进制下位数要一样.每次转换i对应i位,最高位用a,低位用b.然后问最少转换几次能够到目标数.题解:第一步是高精度的进制转换.第二步是100个数,每个数求出来第一次转成功的次数,以及循环数(注意,感觉题目有毛病,其实就是第二次遇到目标数-第一次的次数就是循环数,竟然可能没有循环.标准的应该是随便找个

2015-07-07 11:04:30 399

原创 poj2115

循环多少次题目描述:题意:for(int i = a; i != b; i = (i + c) % (2 ^ k)) 能运行多少次题解:其实就是求 ax+by=c,x的最小整数解.重点:解的标准步骤:先gcd(a,b),之后同时除以.保证a和b互质.之后求ax+by=1,求出来x之后先%b搞的小一点,之后重点:x*c,之后模的还是b.重点是之后模的还是b代码:#include <iostream>

2015-07-07 10:41:59 319

原创 poj1284

求原根题目描述:原根个数:满足{ (xi mod p) | 1 <= i <= p-1 } == { 1, …, p-1 }的x称为模p的原根。给出模p,求原根个数题解:原根的定义搞到n(x) = phi(phi(x)).)所有的奇素数都是有原根的重点:原根怎么得到?下面的证明: 假设奇素数n的原根为r,那么r,r^1,r^2…r^phi(n)是模n不同于的, 由于(r^i)^(phi(n))=

2015-07-07 10:37:57 387

原创 poj 1150

题目描述:超大组合数:求超大组合数P(n, m)的最后一个非零位。题解:n!/m!的最后一位.可以看出来有几个2和几个5,搞出来有几个10.然后再除以他们之后%10.发现阶乘直接%10不行,因为10是质合数.因此可能这样做:先拆成%5和%2但是发现除以10的x次方之后的数字不好写成形式.于是换这样的方法:只需要是个位,因此只看个位:先看2和5的多少.如果5多于2,一定是5.如果2等于5.那么剩下的就

2015-07-07 10:32:53 368

课堂笔记1.docx

李宏毅老师机器学习的笔记,目详细介绍为:https://www.bilibili.com/video/av35932863?p=2

2019-08-30

空空如也

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

TA关注的人

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