01 2016 档案

摘要:题目大意k只麻球,每活一天就会死亡,但第二天可能会生一些麻球,具体是 生i个麻球的概率为pi ,求m天后所有麻球都死亡的概率。 LRJ such a dog,你给我个错的翻译。分析用f(i)表示一开始有1只麻球,i天后死亡的概率。 显然有f(0)=0f(i)=∑j=0n−1(Pj∗... 阅读全文
posted @ 2016-01-31 17:58 outer_form 阅读(184) 评论(0) 推荐(0)
摘要:题目大意找1到n的路径中异或和最大的路径。分析首先,我们考虑这样一个问题:先看另一道题N个点M条边的边带权的无向图,求一个回路使XOR和最大(回路中的路径可以走多次)。另一道题的分析有这样一个结论(从这里到证明结束的所说回路只能走一次) 两个回路的和仍是回路(‘和’ 指 ‘异或和... 阅读全文
posted @ 2016-01-31 16:39 outer_form 阅读(255) 评论(0) 推荐(0)
摘要:题目大意从N个数中选出任意个数,使XOR和最大分析我们贪心地思考这道题,每次,我们从最高位开始枚举答案的每一位,并且总是尝试使这一位为1,并和前面所有的方程联立求解,由于数据最大为1018,1018#includeusing namespace std;typedef long l... 阅读全文
posted @ 2016-01-31 09:15 outer_form 阅读(169) 评论(0) 推荐(0)
摘要:题目描述 所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的例子: +43a9865a045008468a663344445506978其中a代表被虫子啃掉的数字。根据算式,我们很容易判断:第一行的两个数字分别是5和3,第二行... 阅读全文
posted @ 2016-01-30 17:01 outer_form 阅读(543) 评论(0) 推荐(0)
摘要:题目 分析:一个元素只可能被它上下左右即自己影响,设mat[i][j]为当且元素的值。那么mat[i][j]^mat[i+1][j]^mat[i][j+1]^mat[i-1][j]^mat[i][j-1]=0 所以我们可以据此列出m*n个方程,根据高斯消元求解即可。 但是,此题答案... 阅读全文
posted @ 2016-01-30 11:15 outer_form 阅读(193) 评论(0) 推荐(0)
摘要:A*#include#include#include#include#includeusing namespace std;stacks;struct node{ int dist,h,c; unsigned short s[10]; bool operatort... 阅读全文
posted @ 2016-01-30 09:56 outer_form 阅读(195) 评论(0) 推荐(0)
摘要:GPA 排名系统** Gpa.pas (exe) 【问题描述】 目前,高等院校往往采用 GPA(Grade Point Average)来评价学生的学术表现。传 统的排名方式是求每一个学生的平均成绩,以平均成绩作为依据进行排名。 但是这样的排名方法已经引起了教育界以及社会各界人士的... 阅读全文
posted @ 2016-01-28 17:11 outer_form 阅读(402) 评论(0) 推荐(0)
摘要:#include#include#includeusing namespace std;#define MAXN 400int a[MAXN+10][MAXN+10],x[MAXN+10],n,m,row;templatevoid Read(T &x){ char c; ... 阅读全文
posted @ 2016-01-28 11:28 outer_form 阅读(156) 评论(0) 推荐(0)
摘要:题目 题意很简单; 根据d列出一个n*m元一次方程组即可,高斯消元模板题。#include#include#include#include#include#define MAXN 10#define EPS 1e-11using namespace std;int n,m,d,va... 阅读全文
posted @ 2016-01-28 10:51 outer_form 阅读(174) 评论(0) 推荐(0)
摘要:#include#include#includeusing namespace std;#define MAXN 400#define EPS 1e-8int n,m,row;bool f[MAXN+10];double a[MAXN+10][MAXN+10],x[MAXN+10]... 阅读全文
posted @ 2016-01-27 23:13 outer_form 阅读(168) 评论(0) 推荐(0)
摘要:题目大意就是求∑ni=1∑mj=1lcm(i,j),但是有多组输入数据. 如果之前做过【莫比乌斯反演】[HYSBZ\BZOJ2154]Crash的数字表格,就会发现,对于每一个询问,有O(n)的做法,但显然不够快。 在上一道题中(sum的定义见【莫比乌斯反演】[HYSBZ\BZOJ... 阅读全文
posted @ 2016-01-27 17:05 outer_form 阅读(169) 评论(0) 推荐(0)
摘要:题目 题目大意就是求∑ni=1∑mj=1lcm(i,j). 分析:ans=∑i=1n∑j=1mlcm(i,j)=∑i=1n∑j=1mi∗jgcd(i,j) 枚举d=gcd(i,j),令f(n,m,k)=∑1#includeusing namespace std;#define MA... 阅读全文
posted @ 2016-01-27 11:50 outer_form 阅读(161) 评论(0) 推荐(0)
摘要:题目 参见这篇blog,将m,n视为相等的即可。#include#includeusing namespace std;#define MAXN 10000000int mu[MAXN+10],p[MAXN+10],pcnt,n,sum[MAXN+10];long long ans... 阅读全文
posted @ 2016-01-27 09:02 outer_form 阅读(160) 评论(0) 推荐(0)
摘要:题目 大意:给出一个数N,M,求1 #includeusing namespace std;#define MAXN 10000000int sum[MAXN+10],mu[MAXN+10],p[MAXN+10],pcnt,m,n,T;long long ans;bool f[MA... 阅读全文
posted @ 2016-01-26 23:00 outer_form 阅读(144) 评论(0) 推荐(0)
摘要:题目 题目大意就是求在一个边长为N的正方体内,你站在(0,0,0)所能看到的所有点。 分析:这道题,我们可以分成三类来讨论. 第一类:坐标轴上的点 我们无论如何只能看见3个。 第二类:与原点相邻的三个表面的点 我们考虑其中一个表面,当且仅当在该点表面的坐标(x,y)满足gcd(x,... 阅读全文
posted @ 2016-01-26 22:32 outer_form 阅读(152) 评论(0) 推荐(0)
摘要:题目 大意就是求在af(d)=∑i|dμ(di)F(d)=∑i|dμ(di)⌊ni⌋⌊mi⌋ 当i=1时,f(1)=∑min(n,m)d=1μ(d)⌊n⌋⌊m⌋。 由于⌊ni⌋的取值最多只有2n−−√个(这个很容易证明:在nsqrt(n)+1#includeusing namesp... 阅读全文
posted @ 2016-01-26 22:17 outer_form 阅读(303) 评论(0) 推荐(0)
摘要:PoPoQQQ没有给出形式二的证明,我恨PoPoQQQ,证了好久。 证明之前,请先看看PoPoQQQ的ppt,当你看完发现没有证明想哭的时候,看看这篇博客。 莫比乌斯反演定理形式一: F(n)=∑d|nf(d)=>f(n)=∑d|nμ(d)F(nd) 证明: 恒等变形得: f(n)... 阅读全文
posted @ 2016-01-26 16:38 outer_form 阅读(929) 评论(0) 推荐(0)
摘要:题目 分析:求异或的前缀和后用莫队算法即可。#include#include#include#define MAXN 100000#define MAXM 100000#define MAXK 1000000using namespace std;int block[MAXN+10... 阅读全文
posted @ 2016-01-25 23:43 outer_form 阅读(101) 评论(0) 推荐(0)
摘要:题目 分析:另f[n]为Concatenate(1..N) Mod M的值,那么f[n]=(f[n-1]*10^length[n]+n)%MOD。 所以[f[n]n1]=[f[n−1]n1]∗⎡⎣⎢111011001⎤⎦⎥ 根据数字的长度分段做矩阵快速幂即可。#include#in... 阅读全文
posted @ 2016-01-25 23:38 outer_form 阅读(102) 评论(0) 推荐(0)
摘要:题目 分析: 1.由于矩阵只能限制路径的边数,不能限制长度,我们将一个字母拆成5个点,来限制长度; 2.通过在开头添加到任何字符差异度都为1的虚拟字符,来枚举长度比n小的单词;#include#include#include#define MOD 1000000007using n... 阅读全文
posted @ 2016-01-25 23:27 outer_form 阅读(152) 评论(0) 推荐(0)
摘要:题目 分析:题目大意即在一个无向图中,询问从起点到终点,走n步的最短路。最多100条边,所以最多100个点,对点进行离散化。用floyd求最短路,因为floyd就是向中间插点(插点法)所以只需要做n次floyd,同时使用倍增来加速。#include#include#includeu... 阅读全文
posted @ 2016-01-25 23:18 outer_form 阅读(263) 评论(0) 推荐(0)
摘要:void mul(matrix a,matrix b,matrix c){ matrix d={{0}}; int i,j,l; for(i=0;i>=1; } memcpy(c,d,sizeof d);} 阅读全文
posted @ 2016-01-21 21:03 outer_form 阅读(94) 评论(0) 推荐(0)
摘要:题目 分析:用manacher求出以每个字符为中心的最长回文字串。 然后进行枚举。 若枚举到下标i,我们用两棵平衡树来存储在i前面,j+len[j]≥i的节点,其中一个按照j排序,另一个按照j+len[j]排序,根据第二棵平衡树的顺序进行遍历,将j+len[j]#include#i... 阅读全文
posted @ 2016-01-20 21:58 outer_form 阅读(160) 评论(0) 推荐(0)
摘要:题目大意给出N个点,M条有向边 如果有向边的标号是1的话,就表示该边的上界下界都为容量 如果有向边的标号为0的哈,表示该边的下界为0,上界为容量 现在问,从1到N的最小流是多少,并输出每条边的流量分析像无源汇点上下界可行流那样建图,然后从SS->ST跑一次,然后t->s连一条... 阅读全文
posted @ 2016-01-20 21:33 outer_form 阅读(191) 评论(0) 推荐(0)
摘要:题目大意有一个人,去给m个女孩儿拍照,第i个女孩至少拍Gi张,第k天最多拍Dk张,需要给Ck个女孩拍照,分别是Tk1, Tk2, …, TkCk,每个女孩至少Lki张,最多Rki张。 问最多能拍多少张照片。分析就像无源汇点上下界可行流那样连边,最后从T到S连一条下届为0,上届为+∞... 阅读全文
posted @ 2016-01-18 13:14 outer_form 阅读(158) 评论(0) 推荐(0)
摘要:Manacher算法 算法总结第三弹 manacher算法,前面讲了两个字符串相算法——kmp和拓展kmp,这次来还是来总结一个字符串算法,manacher算法,我习惯叫他 “马拉车”算法。 相对于前面介绍的两个算法,Manacher算法的应用范围要狭窄得多,但是它的思想和拓展kmp算法有很... 阅读全文
posted @ 2016-01-14 14:10 outer_form 阅读(192) 评论(0) 推荐(0)
摘要:题目 分析:边的容量为上界-下界,d数组保存当前节点下界的入度-岀度的差。为了保证流量的平衡,当di>0是,入度减掉的l比岀度多,所以从超级源点向i连一条容量为di的边,否则,从i向超级汇点连一条容量为-di的边。 然后从SS到ST跑一次最大流即可。#include#include... 阅读全文
posted @ 2016-01-12 14:15 outer_form 阅读(143) 评论(0) 推荐(0)
摘要:CodeForces - 579E 可以发现结果关于x的函数是一个单谷函数,所以三分。#include#include#includeusing namespace std;#define MAXN 200000int a[MAXN+10],n;double l[MAXN+10];... 阅读全文
posted @ 2016-01-09 17:46 outer_form 阅读(168) 评论(0) 推荐(0)
摘要:题目 分析:将一个技术人员拆成n个点,分别和车连边,第j个技术人员拆成的第k个点修理第i辆车的费用为k*tm[i][j]. 当一辆车是这个技术人员修理的倒数第k辆车时,它对等待时间的总数贡的献为k*tm[i][j]. 最后,将总数/n即可.#include#include#incl... 阅读全文
posted @ 2016-01-05 22:12 outer_form 阅读(102) 评论(0) 推荐(0)
摘要:题目 分析:建图的方法还是比较难想。 首先,计算两个相邻时刻的差分,若a[i] a[i-1],就从源点向i连边,容量为a[i]-a[i-1] 请联系差分数组理解。 然后,对于志愿者,连s->(t+1),容量为+∞,费用为c。 最后,由于志愿者可以多不能少,连(i+1)->i,容量... 阅读全文
posted @ 2016-01-05 22:05 outer_form 阅读(115) 评论(0) 推荐(0)