结论
文章平均质量分 63
Y__XV
这个作者很懒,什么都没留下…
展开
-
【结论】【高精度】
高精度:加(正加正):#include<cstdio>#include<iostream>using namespace std;const int need=1000000;int aa[need],bb[need];string add_(string a,string b){ int lena=a.length(),lenb=b.length(); int len=ma原创 2016-05-27 08:36:45 · 339 阅读 · 0 评论 -
【结论&例题】背包动规
1、 (1)、一个背包容积为T(0<=T<=2000),现在有N(0< N<=1000)个物品,每个物品有一定体积V(1<=V<=5000)。从这N个物品中选取若干个装入背包内,使背包所剩的空间最小。请求出最小的剩余空间? (2)、若每种物品有无限个,请求出最小的剩余空间状态:f[j]表示能否选取若干个物品放入背包中,使背包已使用的体积恰好为j,能为true,不能为false#include<c原创 2016-10-04 13:25:52 · 819 阅读 · 0 评论 -
【结论】【数学】组合数求法
1、c[n][m]=c[n-1][m-1]+c[n-1][m] for(int i=0;i<=n;i++)c[i][0]=1; for(int i=1,j;i<=n;i++) for(j=1;j<=i;j++) c[i][j]=(c[i-1][j]+c[i-1][j-1])%mod;2、int pr[need],tot,cnt[need],s[need];//s原创 2016-10-14 00:14:46 · 530 阅读 · 0 评论 -
【结论】【线性推组合数】NKOJ3823 水果怪
NKOJ3823 水果怪 时间限制 : - MS 空间限制 : 165536 KB 评测说明 : 1000ms 问题描述 小南和小开在三友路上养了很多只果冻怪。我们可以将三友路想象成一根长度无限的数 轴,在这上面生活着n只果冻怪。每经过一秒,一只果冻怪便会分裂成两只。具体来说,一 只坐标为x的果冻怪,会分裂成两只分别在(x − 1),(x + 1)上的果冻怪,并且原来在x上的果 冻怪会原创 2016-10-27 01:01:13 · 581 阅读 · 0 评论 -
【结论】【树(LCA)】NKOJ3815 树上的询问
NKOJ3815 树上的询问 时间限制 : - MS 空间限制 : 265536 KB 评测说明 : 1000ms 问题描述 现有一棵 n 个节点的树,树上每条边的长度均为 1。给出 m 个询问,每次询问两个节 点 a,b,求树上到 a,b两个点距离相同的节点数量。 输入格式 第一个整数 n,表示树有 n 个点。 接下来 n-1 行每行两整数 a,b,表示从 a 到 b 有一条边转载 2016-10-16 22:47:24 · 504 阅读 · 0 评论 -
【例题】【二项式定理】NKOJ3811 lucknum
NKOJ3811 lucknum 时间限制 : - MS 空间限制 : 165536 KB 评测说明 : 1000ms 问题描述 每个人都会有幸运数字,有种幸运数字是这样定义的: 如果X是幸运数字,则X在m进制下的表示为x1x2…xk,一定有x1<=x2<=…<=xk,其中k可以表示X在m进制下的位数(不能有前导0,除非该数本身就是0)。 这样的数字可能有无穷多个的,但是如果是在m原创 2016-10-14 13:50:27 · 676 阅读 · 0 评论 -
【例题&结论】【动规】2017&2508渡轮问题
NKOJ2508 渡轮问题(弱数据版) 时间限制 : 10000 MS 空间限制 : 65536 KB 问题描述 NK河的两岸各有N个城市,且北岸的每一个城市与南岸的某个城市是友好城市,而且对应的关系是一一对应的。现在要求在两个个友好城市之间建立一条航线,但所有航线都不能相交,因此,就不可能给所有的友好城市建立航线。问题:当城市间的友好关系建立以后,选择一种修建航线的方案,使得能建最多原创 2016-09-28 22:58:37 · 905 阅读 · 0 评论 -
【题】【数学(卡特兰数)】NKOJ3798 有趣的数列
NKOJ3798 有趣的数列 时间限制 : - MS 空间限制 : 65536 KB 评测说明 : 1000ms 问题描述 我们称一个长度为2n的数列是有趣的,当且仅当该数列满足以下三个条件:(1)它是从1到2n共2n个整数的一个排列{Ai};(2)所有的奇数项满足A1< A3< …< A2n-1,所有的偶数项满足A2< A4< …< A2n;(3)任意相邻的两项A2i-1与A2i(1原创 2016-10-13 23:57:41 · 512 阅读 · 0 评论 -
【例题&结论】【单调队列(滑动窗口)】NKOJ2152 滑动窗口
NKOJ2152 滑动窗口 时间限制 : 10000 MS 空间限制 : 65536 KB 问题描述 给你一个长度为N(N<=10^6)的数组,一个长为K的滑动的窗体从最左移至最右端,你只能见到窗口的K个数,每次窗体向右移动一位,找出窗体所包含的数字的最大和最小值,如下表所示:k的值为3窗口位置 最小值 最大值[1 3 -1] -3 5原创 2016-09-27 23:26:34 · 612 阅读 · 0 评论 -
【结论&例题】【数学】NKOJ3813 最多因数
NKOJ3813 最多因数 时间限制 : 1000 MS 空间限制 : 165536 KB 评测说明 : 1000ms问题描述 给两个数 a,b,输出两个数之间因数个数最多的数。如果有多个因数数量相同的数,输出 最小的那个。 输入格式 两个非负整数 输出格式 一个整数 样例输入 6 10 样例输出 6提示 【样例解释】 6,8,10 都有 4 个因数,但 6 最小。 【数据范原创 2016-10-18 11:20:10 · 459 阅读 · 0 评论 -
【结论】【出现在所有最长上升子序列中的元素】NKOJ3500 独立集
NKOJ3500 独立集 时间限制 : 20000 MS 空间限制 : 165536 KB 评测说明 : 1s 问题描述 有一天,一个名叫顺旺基的程序员从石头里诞生了。又有一天,他学会了冒泡排序和独 立集。在一个图里,独立集就是一个点集,满足任意两个点之间没有边。于是他就想把这两 个东西结合在一起。众所周知,独立集是需要一个图的。那么顺旺基同学创造了一个算法, 从冒泡排序中产生一原创 2016-11-10 01:13:09 · 469 阅读 · 0 评论 -
【例题】【动态树】
NKOJ3172 OTOCI 时间限制 : 50000 MS 空间限制 : 165536 KB问题描述 给出n个结点以及每个点初始时对应的权值wi。起始时点与点之间没有连边。有3类操作: 1、bridge A B:询问结点A与结点B是否连通。如果是则输出“no”。否则输出“yes”,并且在结点A和结点B之间连一条无向边。 2、penguins A X:将结点A对应的权值wA修改为X原创 2016-12-25 13:35:58 · 536 阅读 · 0 评论 -
【例题】【Splay】NKOJ1921 郁闷的出纳员
NKOJ1921 郁闷的出纳员 时间限制 : 10000 MS 空间限制 : 65536 KB 问题描述 OIER公司是一家大型专业化软件公司,有着数以万计的员工。作为一名出纳员,我的任务之一便是统计每位员工的工资。这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经常调整员工的工资。如果他心情好,就可能把每位员工的工资加上一个相同的量。反之,如果心情不好,就可能把他们的工资原创 2016-12-03 21:31:41 · 483 阅读 · 0 评论 -
【例题】Splay
NKOJ 1925【平衡树】营业额统计 时间限制 : 10000 MS 空间限制 : 65536 KB问题描述 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。 Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额。分析营业情况是一项相当复杂的工作。由于节假日,大减价或者是其他情况的时候,营业额会出现一定的原创 2016-12-03 21:12:20 · 402 阅读 · 0 评论 -
【例题&结论】【中位数】NKOJ 3569 葡萄酒交易&2039 分金币
1、 NKOJ3569 葡萄酒交易 时间限制 : 10000 MS 空间限制 : 65536 KB问题描述 一条笔直公路上分布着n(2设第i个村庄对葡萄酒的需求为Ai(-10000表示该村需要买酒,Ai把k升葡萄酒从一个村庄运到相邻村庄需要k块钱的运费,请你计算最少需要多少运费就可以满足所有村庄对酒的需求。结果保证在64位整数范围以内。输入格式 第一行,一个整数n,表示村原创 2016-11-15 18:44:32 · 1871 阅读 · 0 评论 -
【结论】【非严格次小生成树】NKOJ3855 merlin
NKOJ3855 merlin 时间限制 : - MS 空间限制 : 165536 KB 评测说明 : 2s问题描述 古月族是一个神奇的种族,有一天古月腾和古月豪在一起看《梅林传奇(merlin)》。 剧中,以卡梅洛特(camelot)为代表的是古时英格兰的城池坐落在现我大英帝国的某处土地上,每个城池被乌瑟王(亚瑟王之父)编号,方便货物来往。 假设有n座城池,编号为1-n,一些城池之原创 2016-11-02 16:51:50 · 694 阅读 · 0 评论 -
【结论】判断一个有序序列能否通过两轮相同的交换操作得到给出的序列
题目:判断一个有序序列能否通过两轮相同的交换操作得到给出的序列结论:偶数、等数量、的连通块的数目均为偶数时可以。#include<cstdio>#include<iostream>using namespace std;const int need=1003;//.........................................inline void in_(int &d)转载 2016-11-13 23:11:46 · 666 阅读 · 0 评论 -
【结论】Dijkstra
朴素:#include<cstdio>using namespace std;const int inf=1e9;int map[102][102],dis[102];bool mark[102];int main(){ int x,y,n,m,a,b; scanf("%d%d",&n,&m); for(int i=1;i<=m;i++) { s原创 2016-08-25 22:58:06 · 315 阅读 · 0 评论 -
【题】【线段树(不用lazy的区间修改)】NKOJ 2997 狗 【nodgd造水题】
NKOJ 2997 狗 【nodgd造水题】时间限制 : 6000 MS 空间限制 : 131072 KB 问题描述nodgd家里有很多狗!太多的狗给nodgd带来了各种麻烦,于是nodgd决定开个赶走一些狗! nodgd首先按照狗的品种把所有狗分成N类,依次是第1类,第2类,…,第N类。刚开始第i类有ai只。 nodgd有时候会心情不爽,就会把第l类、第l+1类、第l原创 2016-07-24 19:03:16 · 716 阅读 · 0 评论 -
【例题】【单调队列】NKOJ2150 广告印刷
NKOJ2150 广告印刷 时间限制 : 10000 MS 空间限制 : 65536 KB问题描述 最近,afy决定给TOJ印刷广告,广告牌是刷在城市的建筑物上的,城市里有紧靠着的N(N<=400000)个建筑。afy决定在上面找一块尽可能大的矩形放置广告牌。我们假设每个建筑物都有一个高度,从左到右给出每个建筑物的高度H1,H2…HN,0<=Hi<=1,000,000并且我们假设每个建筑物原创 2016-09-28 13:11:03 · 850 阅读 · 0 评论 -
【结论】【数学】筛质数
int prime[need],tot=0;bool mark[need];int get_prime(){ mark[0]=mark[1]=false; for(int 2=1;i<=need;i++) { if(!mark[i]) prime[++tot]=1; for(int j=1;j<=tot&&i*prime[j]<=ne原创 2016-10-11 23:40:59 · 278 阅读 · 0 评论 -
【例题&结论】【树(树的直径)】NKOJ 3694 电脑
NKOJ 3694 电脑 时间限制 : - MS 空间限制 : 65536 KB 评测说明 : 时限1000ms 问题描述 给你一棵由n个节点构成的树,树中每条边都有一定的长度值。 对于树中的每个节点,请你找出树中离它最远的点,并输出它们的距离。输入格式 第一行,一个整数n 接下来n-1行,每行三个整数a,b,c,表示点a和b之间有条长度为c的边输出格式 n行,每原创 2016-06-17 14:10:13 · 486 阅读 · 0 评论 -
【结论】树状数组
一、 树状数组(binary indexed tree),是一种设计新颖的数组结构,它能够高效地获取数组中连续n个数的和。 1、#define lowbit(x) x&-xvoid modify(int x,int d)//添加{ for(;x<=n;x+=lowbit(x)) c[x]+=d;}int cnt(int x)//返回a1~ax之和{ int ans=0;原创 2016-07-14 22:29:24 · 235 阅读 · 0 评论 -
【结论】升序逆序对
求法: 1、归并排序#include<iostream>#include<cstdio> using namespace std;int a[10003],a1[10003];int ans=0;void merge(int l,int mid,int r){ int i=l,k=l,j=mid+1; while(i<=mid&&j<=r) { if原创 2016-07-13 20:07:58 · 309 阅读 · 0 评论 -
【结论】【动规】通过预处理减少一层循环
eg1:http://blog.csdn.net/Y__XV/article/details/51500241原创 2016-06-04 23:25:24 · 232 阅读 · 0 评论 -
【结论】【数论】欧拉定理
1、欧拉函数:phi[x]表示小于x且与x互质的数的个数,规定phi[i]=1。(1)、通式 1): phi[i]=x* (1-1/p1)* (1-1/p2)* ……(1-1/pn); (pi为x所有质因数) 2): 若x=a^k,则phi[i]=a^k-a^(k-1)=(a-1)*a^(k-1)(2)、性质 1)、是积性函数:若x,y互质,则phi[x* y]=phi[x]*原创 2016-05-20 15:16:36 · 932 阅读 · 0 评论 -
【结论】【位运算】求1~n异或的结果(NKOJ 2466)
打表观察后得结论#include<cstdio>using namespace std;int main(){ long long n;scanf("%I64d",&n); if(n%4==0) printf("%I64d",n); else if(n%4==1) printf("1"); else if(n%4==2) printf("%I64d",n+1);原创 2016-05-15 16:45:18 · 495 阅读 · 0 评论 -
【结论】【字符串】对于一个字符串用f[i][j]表示i到j位可构成回文串
对于一个字符串用f[i][j]表示i到j位可构成回文串 string a;cin>>a; int len=a.length(); for(int i=0;i<len;i++)//从0位开始存 { for(int j=0;j+i<len&&i>=j;j++) { if(a[i-j]==a[i+j]) ma[i-j][原创 2016-05-31 00:12:03 · 475 阅读 · 0 评论 -
【结论】【数论】拓展欧几里得算法、费马小定理
1、欧几里得原理 (1)欧几里得算法 int gcd(int a,int b) { return b==0?a:gcd(b,a%b); } (2)、拓展欧几里得:在已知a、b的情况下,求x*a+b*y=gcd(a,b)的一组整数解 1)、推导: /* 设 a* x1+b* y1=gcd(a, b), b* x2+(a%b)*y2=g原创 2016-05-20 01:26:14 · 544 阅读 · 0 评论 -
【例题&结论】【分治(等比数列二分求和)】NKOJ 3716 数列求和
NKOJ 3716 数列求和 时间限制 : - MS 空间限制 : 65536 KB 评测说明 : 时限1000ms 问题描述 给出三个整数A,n和p,计算 Sn=(A^1+A^2+A^3+……+A^(n-1)+A^n) mod p输入格式 一行,三个整数A,n和p 输出格式 一行,一个整数,表示所求结果样例输入 2 3 123样例输出 15提示 1 <= A,n,p原创 2016-07-18 13:15:39 · 1275 阅读 · 0 评论 -
【结论】二分快速幂
long long f(long long a,long long b,long long c){ long long ans=1; a%=c; while(b>0) { if(b&1) ans=(ans*a)%c; b>>=1; a=(a*a)%c; } return ans;}原创 2016-05-15 23:00:11 · 413 阅读 · 0 评论 -
【结论】【树上差分】
在树中将所有路径起、始权值加1,起、始点的lca权值减2,从所有叶节点开始把权值往上累加。最终权值为路径数的点到其父亲的边为所求边。原创 2016-09-08 18:02:14 · 2726 阅读 · 0 评论 -
【结论】【LCA】NKOJ 3773 紧急集合
NKOJ 3773 紧急集合 时间限制 : - MS 空间限制 : 165536 KB 该题不设总的时间(空间)限制,每组测试数据具有独立的时空限制 评测说明 : 2000ms 问题描述 样例输入6 4 1 2 2 3 2 4 4 5 5 6 4 5 6 6 3 1 2 4 4 6 6 6样例输出5 2 2 5 4 1 6 0 结论: 树中到三个点距离和原创 2016-09-22 19:01:46 · 404 阅读 · 0 评论 -
【例题】【康托展开】NKOJ 2272 数字排列
NKOJ 2272【康托展开】数字排列 时间限制 : 20000 MS 空间限制 : 65536 KB问题描述 {1,2,3} 三个数的全排列可看做6个数字,按从小到大排序得到序列a:123,132,213,231,312,321 下面有两种提问: 1.数字231在序列a中排名第几?回答4 2.数列a中排名第5的数字是多少?回答312 给出n个数字(1,2,3,…,n),回答关于序原创 2016-08-25 13:19:01 · 466 阅读 · 0 评论 -
【题&结论(递归标连通块)】【搜索(IDA*)】NKOJ 2440 数字消除游戏
NKOJ 2440 数字消除游戏 时间限制 : - MS 空间限制 : 165536 KB 评测说明 : 时限1000ms 问题描述 在一个n*n的方形棋盘上玩消除游戏,棋盘上布满了数字。 每一步,玩家可以任选一个数字x,用它填充坐标为(1,1)格子所在连通区域,该区域的数字都会变成x。(如果两个数字相同且相邻,我们称这两个数字连通。相邻是上下左右四方向)。原创 2016-09-03 12:15:33 · 420 阅读 · 0 评论 -
【结论】二分图&匈牙利算法
一、 1、 匹配:~ 匹配点、未匹配点(未盖点):~ 最大匹配:边数最多 完全匹配:无未盖点 最佳匹配:权和最大 完备匹配:|M|=|X|<|Y| 完美匹配:|M|=|X|=|Y| 2、 增广路(增广轨):…..交替出现….,称P为相对M的一条增广路。 结论: (1)、长度必为奇数。 (2)、若两未盖点间仅含一条边,该边为增广路 (3)、取反后可得到更大的匹配 (4)、原创 2016-08-09 00:08:51 · 424 阅读 · 0 评论 -
【结论】【状压DP】
1、 在n个节点的无向图中选n/2条边,使得点两两配对,并使得所选边权值最小阶段:每一种已选点组成的集合 状态:s表示已选的点的集合,f[s]表示已选出的点连边后的最小权值。 决策:每条边选或不选 方程:f[sU{u,v}]=min f[s]+w(u,v)代码:for(int i=0;i<=s;i++) f[i]=inf; f[0]=0; for(int i=0;i<=s;i原创 2016-07-22 21:42:36 · 282 阅读 · 0 评论 -
【题&结论】【图(Floyd)&矩阵】NKOJ 1895 奶牛接力赛
NKOJ 1895 奶牛接力赛 时间限制 : 10000 MS 空间限制 : 65536 KB 问题描述 为了锻炼身体,N(2 ≤ N ≤ 1,000,000)只奶牛决定用牧场里的T (2 ≤ T ≤ 100)条小路进行一场跑步接力赛。 每条小路连接两个不同的交点(1 ≤ I1i ≤ 1,000; 1 ≤ I2i ≤ 1,000),每个交点至少连接两条小路。奶牛们知道每条小路的长度(原创 2016-07-18 23:05:33 · 863 阅读 · 0 评论 -
【结论&例题】【图(Floyd)&矩阵】图邻接矩阵上的乘法
1、结论1: 对于一个图,若x到y有一条边,则a[x][y]=1,若有m条边,则a[x][y]=m,若无边则为0; 所得矩阵求k次方后的矩阵中a[x][y]的值即表示从x出发行走k条边后到达y的方案数(可重复经过一点) eg: NKOJ 1893 路径方案数 时间限制 : 10000 MS 空间限制 : 65536 KB 问题描述 给定一个有向简单图,图中总共n个点,原创 2016-07-18 23:11:05 · 2681 阅读 · 0 评论 -
【结论】多叉改二叉
原则:各节点左起第一个孩子变为他的左孩子,右起第一个兄弟变为他的右孩子。 代码:void change(int f,int c){ ri[c]=le[f]; le[f]=c;}注意:左上往右下:兄弟关系,右上往左下:父子关系原创 2016-06-13 13:41:35 · 372 阅读 · 0 评论