- 博客(68)
- 资源 (5)
- 收藏
- 关注
原创 poj2689 Prime Distance 有难度 埃拉托斯尼斯筛法的运用
我承认这道很难(对我来说),搞脑子啊,搞了好久,数论刚开始没多久,还不是很强大,思路有点死,主要是我 天赋太差,太菜了,希望多做做有所改善开始解析:首先要将在 [ l,u]内的所有素数找出来,还好题目说了u-l 小于 1000 000,不然内存都得暴死了,最常用的方法就是筛法了,当然还有 传说中的 6*n+1 可惜我不会,开始假设所有范围内的数都是素数,然后讲所有素数的倍数(肯定不是素
2013-10-31 23:11:41 1196
原创 nefu109 云之遥--素数 埃拉托斯尼斯筛法的应用
转载一个例子:例子:MAXN = 30: 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 2021 22 23 24 25 26 27 28 29 30----------------------------------从第一个素数2开始: 2 3 4 5 6 7 8 9 10
2013-10-31 21:06:36 1123
原创 nefu117 素数个数的位数 素数定理+位数公式
这道题目 看着很吓人,完全没法入手,后来才知道是个简单题,首先是 球位数,那肯定跟位数公式有关,再是素数,最后找了一下素数定理,先贴一下关于 素数定理的 资料素数定理定理定理描述素数的大致分布情况。素数的出现规律一直困惑著数学家。一个个地看,素数在正整数中的出现没有什么规律。可是总体地看,素数的个数竟然有规可循。对正实数x,定义π(x)为不大于x的素数个数。数学家找到
2013-10-31 16:00:11 981
原创 poj2142 The Balance 扩展欧几里德的应用 稍微还是有点难度的
题目意思一开始没理解,原来是 给你重为a,b,的砝码 求测出 重量为d的砝码,a,b砝码可以无限量使用开始时我列出来三个方程 :a*x+b*y=d;a*x-b*y=d;b*y-ax=d;傻眼了,可是我们知道 x,y前面的正负符号是不影响extgcd的使用的,比如poj1061 方程式是 px+qy=m,而 nefu84方程式是:px-qy=m;所以不影响 只是方法没
2013-10-30 23:47:31 841
原创 HDU2669 Romantic 扩展欧几里德 对我来说有陷阱
这道题对我来说有陷阱虽说是赤果果的扩展欧几里德,看样子基本攻还是不够哈,基本功夫一定要好,准备每天上那种洗脑课时分 多看看数论书,弥补一下 自己 狗一样的基础,这道题用到了一个性质:对于不定整数方程pa+qb=c,若 c mod Gcd(a, b)=0,则该方程存在整数解,否则不存在整数解。上面已经列出找一个整数解的方法,在找到p * a+q * b = Gcd(
2013-10-30 22:34:38 839
原创 HDU1576 A/B 扩展欧几里德简单题
本题很简单A%9973=n;那么n=A-A/9973*9973;设 A/B=X;代入方程n=B*X-A/9973*9973然后这个方程中的 A/9973不要去纠结它,A的值就当不知道,然后 方程可变成二元方程 B*X-9973*Y=n;这下符合 exgcd的基本式子了 求出 X, 由于 A/B=X,所以X=A/B,那么 X%9973 其实就是 (A*B)%9
2013-10-30 21:56:54 1002
原创 poj2115 Looooops 扩展欧几里德的应用
好开心又做出一道,看样子做数论一定要先看书,认认真真仔仔细细的看一下各种重要的性质 及其用途,然后第一次接触的题目 边想边看别人的怎么做的,这样做出第一道题目后,后面的题目就完全可以自己思考啦设要+t次,列出方程 c*t-p*2^k=b-a(p是一个正整数,这里的内存相当于一个长度为2^k的圆圈,满了就重来一圈)这样子就符合扩展欧几里德的方程基本式了 然后令 c*
2013-10-30 20:47:48 894
原创 NEFU84 五指山扩展欧几里德的应用
解析过程跟上一道很像,http://blog.csdn.net/u010682557/article/details/13612759设要跳t次,我们列出方程 d*t-np=y-x;(这里的p是一个正整数)然后开始利用扩展欧几里德来解,我自己写的那个不知道WA在哪里了,后来看了别人的,他们只是 求gcd的值的时候 另外写了个gcd的函数而已,而我顺便在扩展欧几里德时求出g
2013-10-29 22:41:43 1585
原创 poj1061 青蛙的约会 扩展欧几里德的应用
这个题解得改一下,开始接触数论,这道题目一开始是看了别人的思路做的,后来我又继续以这种方法去做题,发现很困难,学长告诉我先看书,把各种词的定义看懂了,再好好学习,我做了几道朴素的欧几里德,尽管是小学生一样的题目我还是坚持做了几道,然后 看了中国余数定理 跟 中国剩余定理 还有扩展欧几里德的定义以及介绍,这次 这个题目是我自己思考出来的,这个题解是写给自己看的 同时向大家共享,学长说 做数论 要不
2013-10-29 21:12:18 898
原创 数论小结 写的很好!!!赞一个
刚开始决定接触数论,因为这几年比赛中图论越来越少,想多做做数论,拓展一下思路,问学长,学长推荐了 这位大牛,这位大牛花了半年时间来接触数论,而且给的方向感很强,想把这篇文章留下来,以后 在它的引导下进行数论的学习,真心写的很好 ,大牛留下的福利 就转来留下来,好好利用转载自: http://hi.baidu.com/aekdycoin/item/ec528c969cf7a230336eebae
2013-10-28 19:43:45 1042
原创 poj2115 Looooops 扩展欧几里德
x=[ (B-A+2^k)%2^k ]/CC*X=(B-A+2^k)%2^k一开始 方程不知道咋办 后来 看到别人统一一下变量 顿时 愚蠢的我感觉清晰了一点点 令a=C, b=B-A, MOD=2^k;方程变成了 ax=(n+MOD)%MOD;看到某个大神贴的一张图片很给力 我也贴一下,顺便贴一下他的解析过程,很容易懂得,一开始学数论 不可能自己完全推出来 都是要看要做,做多了
2013-10-27 22:11:14 932
原创 poj2891 Strange Way to Express Integers 扩展欧几里德的应用
刚开始数论,还不知道中国余数定理这东西,后来看了看,本题 不互素(互质)所以不能直接套中国余数定理,要两两合并公式,看了网上很多题解,基础真心很差结果都没看懂,但是终于看到了一篇让我这么没资质的人懂了转一下 他的分析模不互素,不能直接用中国剩余定理,只能每次求2组方程,然后通过他们的lcm求出最后符合左右方程组的解。例如有下面2条同余方程 x ≡ 3 (mod 4),x ≡ 5 (
2013-10-27 20:13:50 794
原创 HDU3572 Task Schedule 网络流最大流
先参考了别人的思路 打了一遍,自己想写更快的一种 可是 刚开始接触 还不行,先按别人思路来敲敲,明天继续刷这道题目#include#include#include#include#include#include#include#include#include#include#include#include#include#define ll long l
2013-10-26 22:16:40 1082
转载 网络流模版
九野的博客,转载请注明出处 : http://blog.csdn.net/acmmmm/article/details/11199941Dinic非递归版:#define N 5000#define M 1505#define inf 536870912inline int Max(int a,int b){return a<b?b:a;}inline int M
2013-10-26 20:54:02 737
转载 网络流之 最大流模版
13 、最大流 13.1 SAP邻接 矩阵形式 /* * SAP算法(矩阵形式) * 结点编号从0开始 */ const int MAXN=1100;int maze[MAXN][MAXN];int gap[MAXN],dis[MAXN],pre[MAXN],cur[MAXN];int sap(int start,int end,int nodenum){ memset(cu
2013-10-26 19:27:38 787
原创 poj1061 青蛙的约会 扩展欧几里德
这道题目还是比较明显的,数据很大很大,用数论来解题大概能想得到转载一下别人的讲解,转自 http://hi.baidu.com/blackstar08/item/3818e3b3e0b5a9931846973c本题是很经典的扩展欧几里德的题目,做完本题对扩展欧几里德得就会有一个很清晰的认识了。要解决这个问题,我觉得有几点要比较清楚:1、怎样利用扩展欧几里德得求得一组
2013-10-25 22:10:53 770
原创 HDU1853 Cyclic Tour KM算法 模版题
这道题目就是个模版题目,求的是走完图中所有点的最短的路径长度,KM算法 是 最大权匹配,算的是最大权值,但是我们在建图的时候 把权值改为负的就可以了,这样进行KM算法 算出来的 是最大的负数,其实就是最小的正数,#include#include#include#include#include#include#include#include#include#incl
2013-10-25 20:10:51 945
原创 HDU2255 奔小康赚大钱 又是984ms 飘过汗啊 最大权匹配 KM算法模版题
最近跟984ms很有爱啊,再次以984ms飘过!!!这道题不可以说是模版题目,因为它就是个模版,简直就是一模一样的模版,做了这道题你就知道什么是模版,模版长什么样子了,我反正照着模版打的,打出来跟模版长得一样题目是中文的 不用解释了先贴一个模版想要快点的 自己改成个邻接表形式的就可以了#include #include #define N 1001#de
2013-10-24 22:13:42 985
原创 HDU1528 Card Game Cheater 二分匹配最大点覆盖问题
这道题目还是比较简单的 就是建图有些问题Adam和Eve打牌,Eve是能够可以看到Adam的牌,牌的顺序先看大小,如果大小一样,再看C,D,H(依次增大),每次出一张牌,大的算赢一次,求出Eve最多能赢多少次。#include#include#include#include#include#include#include#include#inclu
2013-10-24 20:37:46 980
转载 强联通模版 题目是HDU1269
#include #include #include #include using namespace std; #define MAXN 10010 #define MAXM 100010 struct Edge { int v, next; }edge[MAXM]; //边结点数组 int first[MAXN], stack[M
2013-10-24 19:56:54 814
原创 HDU2389 Rain on your Parade 二分匹配 Hopcroft-Carp的算法+模版
这道题目一开始用最常用的匈牙利算法就超时,后来网上查了一下,原来给忘了二分匹配中还有一个Hopcroft-Carp的算法,直接找了个模版套了一下,1A,好开心先讲一下题目的意思,第一行案例数,每个案例第一行 代表还有多少单位时间开始下雨,然后是 N个访客,接下来N行是 每个访客的位置(一维坐标平面内)和他的移动速度,接下来M行 代表雨伞数目,接下来M行表示各个雨伞的位置,问在下雨前 最
2013-10-24 19:14:15 1063
转载 二分图匹配(Hopcroft-Carp的算法) 模版
/**********************************************二分图匹配(Hopcroft-Carp的算法)。初始化:g[][]邻接矩阵调用:res=MaxMatch(); Nx,Ny要初始化!!!时间复杂大为 O(V^0.5 E)适用于数据较大的二分匹配 **************************************
2013-10-24 18:28:24 1053
原创 HDU3605 Escape 多重匹配
给出每个人适合住的星球信息和该星球能住多少人,第一行给出n m 代表有 n 个人 m 个星球,然后接下来n行每行m个数字 ,代表可以住到第 i 个星球,0代表不可以住到第 i 个星球,最后一行m个数表示第 i 个星球最多可以住多少个人,问是不是所有人都可以搬离地球,以前的匹配左集合 中一个点 对应右集合中的一个点,点只能使用一次,现在变成左集合中的一个点对应右集合中的多个点
2013-10-24 16:28:25 918
原创 HDU1845 Jimmy’s Assignment 984ms 飘过啊 汗死 二分匹配最大匹配数
984ms飘过,其实就是卡过去的,纯属看人品的 代码,使用了邻接表,更快点,这道题目 他的匹配点 是自己的,所以以前 那个标记 点是否被连过的数组 要设两个,一个表示左集中的点 一个在右集中的点,#include#include#include#include#include#include#include#include#include#include
2013-10-22 21:23:44 1094
原创 HDU2119 Matrix 很经典的做法 二分匹配最大匹配数
这道题目跟poj3041一模一样,没有任何区别, 因为一次可以消除某一整行 或者 某一整列的1,所以题目可以反过来想,最多有多少个 1 既不在同一行也不在同一列,这样就可以进行行列匹配,求最大匹配数即最多有多少个 1 既不在同一行也不在同一列, 做出后记得关注一下poj2226,那道题目可以转化为本道题目,那个方法很经典,同时也让我认识到了最小路径覆盖 的正确使用,印象很是深刻#i
2013-10-22 20:47:03 1003
原创 HDU2236 无题II 二分匹配+二分枚举
设vmin为矩阵中最小元素,设vmax为矩阵中最大元素,那么答案肯定在(0~vmax-vmin)之间,所以可以二分枚举差值,再在每一个差值里面枚举长度为这个差值的区间,若在该差值的区间内存在最大匹配数 更新二分区间的 right,否则更新left;这道题目做的时候一直超时,后来改改就不超时了,现在还不知道为什么呢,看来大家做法都是大差不差的,不过这道题目其实有一个很淫荡的做法,因为x,n的
2013-10-22 20:22:46 1047
原创 Uva11419 I AM SAM 我是山姆 二分匹配
这是白书上给出的题目,我去做了下,题意跟poj3041很像,给一个矩阵,再给出障碍物,一个子弹可以清除一整行或者一整列的障碍物,问最少 需要打几枪,同时把开枪的位置给输出来,分析:求打几枪 很简单,先做一下poj3041就知道了, 最少打几枪 反过来想 其实就是问 最多有几个点 不在同一个行也不在同一列上,至于开枪的位置,可以开两个数组,这里是行与列进行匹配,所以 行 在左集合
2013-10-22 15:05:03 2316
原创 poj2060 Taxi Cab Scheme 最小路径覆盖=顶点数-最大匹配数
题意,租车,有n个预约,然后给出时间,然后给出地点,地点在一个二维坐标平面内,会给你两个坐标,求所需车最少数量;分析:这道题目跟poj2594一样穿了个马甲,2594是需要用一个floyd来转化,这里呢,根据坐标可以算出路径长度从而得到所需时间,如果本次预约任务结束时还有另一个预约时间还没到的话,那么这两辆出租车可以接着去跑另一个任务,这样建图时就可以把两个预约连在一起,讲
2013-10-21 21:46:56 863
原创 poj1422 Air Raid 最小路径覆盖=顶点数-最大匹配数
这是一道最小路径覆盖的题目,做最小路径的题目会有一个拆点的操作出现,我这里的拆点操作顺带做好了,并不是很明显,poj3020就很清楚了;给个poj3020的博客,拆点操作写的很详细 http://blog.csdn.net/lyy289065406/article/details/6647040,这里的拆点操作讲的很好的,大神嘛就是不一样接下来给一个 链接 是这道题目也就是po
2013-10-21 20:57:32 984
原创 poj2594 Treasure Exploration 最小路径覆盖=顶点数-最大匹配数
这道题走过的点可以重复走,这样不符合二分匹配,可是我们可以转化,最简单的就是使用floyd,比如说 1->2->3,2号点已经走过了,我们可以赋予从1->3可以直接到,不需要经过2号点就可以了,这样2号点就不会出现被重复覆盖的现象,那我们就使用floyd来解决问题,剩下的就是套模版的问题了#include#include#include#include#include#i
2013-10-21 19:44:15 1075
原创 poj2226 Muddy Fields
这道题跟poj3041其实是一样的,只不过3041是一下子可以消除一行或者一列,这里可以转化一下,把每一行或者每一列 的连续的 水洼 设为同一个点即可,这样就能转化为poj3041,#include#include#include#include#include#include#include#include#include#include#in
2013-10-21 19:07:56 794
转载 关于二分匹配的基础图论知识
这是我同学写的,挺不错的 就转来,图画的难看了点,不过意思很到位!!九野的博客,转载请注明出处:http://blog.csdn.net/acmmmm/article/details/12891989 图分成点和边所有点组合成一个集合:点集,一般用 V 表示所有边组成一个集合:边集,一般用 E 表示所以一个图可以表示为 G =
2013-10-21 18:55:02 885
转载 二分匹配进步例题,这个博主写的很好的
转自:http://blog.csdn.net/hackbuteer1/article/details/7398008建议看他的分析以及想法,他的有些做法我觉得还是有些难的,不懂了就看看他的想法 跟分析,然后自己构建图去做好了 二分图指的是这样一种图,其所有顶点可以分成两个集合X和Y,其中X或Y中任意两个在同一集合中的点都不相连,所有的边关联在两个顶点中,恰好一个属于
2013-10-20 22:08:42 1683
原创 HDU2819 Swap 看似很难的题目其实用二分匹配就解决了
还是转载了别人的分析,这道题目我做的时候看到过的人很少,自己害怕了,还好自己在做二分匹配的专题,就用二分匹配的想法去想,结果做出来了,unbelivevable!!!接下来是分析:转自 http://blog.csdn.net/hackbuteer1/article/details/7398008这个博主的做法建图方式有些独特比较难懂,我还是常规建图其实就是简单的二分匹配,行和列匹
2013-10-20 22:05:46 792
原创 poj 1325 Machine Schedule 二分匹配
转载了别人的分析分析:显然,机器重启次数是两台机器需要使用的不同模式的个数。把每个任务看成一条边,即A机器的每个模式看成一个X节点,B机器的每个模式看成一个Y节点,任务i为边(ai, bi)。本题即求最少的点让每条边至少与其中的一点关联,即求一个点的最小覆盖。可以证明,这个最小覆盖就是该二分图的最大匹配数。故二分图匹配的模型就建好了。注意到开始时机器都处于0模式,所以如果某个任务可以在0模式下
2013-10-20 20:40:28 679
原创 poj1274 The Perfect Stall 二分匹配简单题
题意:农夫约翰上个星期刚刚建好了他的新牛棚,他使用了最新的挤奶技术。不幸的是,由于工程问题,每个牛栏都不一样。第一个星期,农夫约翰随便地让奶牛们进入牛栏,但是问题很快地显露出来:每头奶牛都只愿意在她们喜欢的那些牛栏中产奶。上个星期,农夫约翰刚刚收集到了奶牛们的爱好的信息(每头奶牛喜欢在哪些牛栏产奶)。一个牛栏只能容纳一头奶牛,当然,一头奶牛只能在一个牛栏中产奶。输入:第一行 两个整数,N
2013-10-20 19:46:08 779
原创 poj2446 Chessboard 二分匹配
这个做法跟poj3020很相似,但是因为是用1*2的矩阵去铺盖,看铺盖是否能完成,所以做法有些不一样,想法讲一下,由于表达能力有限。所以复制了一个讲法比较好的一段话,这段话讲的很清晰,有时候自己做得出来 但是要讲却还是讲不好的,下面给出这段话以及他的代码,我自己的代码会放到最后//poj_2446/*====================================
2013-10-20 19:10:37 669
原创 poj3020 Antenna Placement 二分匹配 最小路径覆盖
#include#include#include#include#include#include#include#include#include#include#include#include#include#define ll long long#define LL __int64#define eps 1e-8const ll INF=999999999999
2013-10-20 18:16:55 776
原创 HDU1281 棋盘游戏 二分匹配
做这道题目的时候建议先去做一下poj3041,超级爽的感觉这题目做出来,真心话 先做poj3041,再做这道题目 效果真的很好,这道题是中文的,直接贴代码了#include#include#include#include#include#include#include#include#include#include#include#include#inclu
2013-10-17 22:54:40 655
原创 poj1469 COURSES 二分匹配基础题
依然是二分匹配,跟HDOJ的1150一模一样,#include#include#include#include#include#include#include#include#include#include#include#include#include#define ll long long#define LL __int64#define eps 1e-
2013-10-17 20:39:38 644
输出素数C++
2014-11-10
MyInteger类
2014-11-10
TicTacToe游戏
2014-11-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人