08 2014 档案
摘要:编译时: 1.定义结构体时没加分号。 2.指针取地址没加 &; Runtime Error: 1.scanf 没加 &; 2.环断成链或者前向星存无向边的时候数组开的太小; Wrong Answer: 1. 1左移30位以上 没强制转换成 long long; 2. if ()里 用 &,^, |
阅读全文
摘要:2次dfs的方法: 1 void dfs(int u,int step) 2 { 3 int tmp=0; 4 if (step>t) 5 { 6 max_dist=step; 7 max_point=u; 8 } 9 for ...
阅读全文
摘要:1 void LICS() 2 { 3 for (int i=1;ima)12 ma=f[i-1][j];13 ans=max(ans,f[i][j]);14 }15 }16 printf("%d\n"...
阅读全文
摘要:第一题:题目大意:求最长公共上升子序列(LICS);解题过程:1.一开始想到模仿求最长公共子序列的方法,F[i][j]表示A串前i个,B串前j个的最长公共子序列,很明显当A[i]!=B[j]时,F[i][j]=max (F[i-1][j] , F[i][j-1]);当A[i] =B[j]的时候,由于...
阅读全文
摘要:题目大意:在一个有向图中,每两点间通信需要一定的时间,但同一个强连通分量里传递信息不用时间,给两点u,v求他们最小的通信时间。解题过程:1.首先把强连通分量缩点,然后遍历每一条边来更新两个强联通分量之间的距离。。2.直接Floyd会超时,应该用dijstra或者spfa做k次最短路。犯的错误:前向星...
阅读全文
摘要:第一题:题目大意:一个n的全排列A[i]是单峰的,当且仅当存在某个x使得A[1]A[x+1]>...>A[n]。 试求 n 的单峰全排列的个数 mod 1234567。n<=2 000 000 000解题过程:1.首先所谓的”峰“必定是数字n,那么根据n的位置来讨论,可以发现,n在第i个位置的方案数...
阅读全文
摘要:1 void dfs(int u,int father) 2 { 3 int child=0; 4 dfn[u]=low[u]=++dfs_clock; 5 6 for (int c=head[u];c;c=nxt[c]) 7 { 8 in...
阅读全文
摘要:1 int get_SG(int x) 2 { 3 if (SG[x]!=-1) 4 return SG[x]; 5 bool v[110]={0}; 6 for (int i=1;i=0) 8 v[get_SG(x-s[i])]=1...
阅读全文
摘要:1 void tarjan(int u) 2 { 3 dfn[u]=low[u]=++dfs_clock; 4 stack_push(u); 5 6 for (int c=head[u];c;c=nxt[c]) 7 { 8 int v=to...
阅读全文
摘要:第一题:题目大意:使得 x^x 达到或超过 n 位数字的最小正整数 x 是多少?n=n;2.考虑到ln(x)/ln(2)+1是单调增的,所以只要二分x就可以快速求解。第二题:题目大意:给出n个有序队列,求出所有数中最小的m个。n,m<=10 000解题过程:1.这题也是NOI导刊看到过的。。写一个小...
阅读全文
摘要:第一题:题目大意:求出1-10^n 这些数中,包含数字3的有多少个。 n<=1000;解题过程:1.这题一看就是高精度+递推。。如果n=1000,那么假设个位是3,其他999位任意。。那么就有10^999个数了。2.用F[i] 表示 所有位数为 i的数中 有多少个包含3的,g[i] 表示 1-10^...
阅读全文
摘要:1 int get_kth(int l,int r) 2 { 3 if (l==r) 4 return a[r]; 5 int i=l,j=r,mid=a[(l+r)>>1]; 6 while (imid)11 j--;12 ...
阅读全文
摘要:1 void my_sort(int l,int r) 2 { 3 int i=l,j=r,mid=a[(l+r)>>1]; 4 while (imid) 9 j--;10 if (il)18 my_sort(l,j);19 ...
阅读全文
摘要:1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 9 const int n=729,m=324; 10 bool mx[2000][2000]...
阅读全文
摘要:dancinglink简直是求解数独的神器,NOIP2009最后一题靶形数独,DFS各种改变搜索顺序都没法过,最后还是用了卡时过得。用dancinglink写,秒杀所有数据,总时间才400ms不到。。(虽然还不是很清楚为什么会快)。一开始还是先看这个blog,图文都非常清晰http://www.cn...
阅读全文
摘要:第一题:题目大意:二进制数 n mod m 的结果是多少? n 的长度(二进制数的位数)<=200 000; m 的长度(二进制数的位数)<=20。解题过程:1.我的算法是直接高精度模拟,但是数据坑爹地有前导0,有前导0的4个点都WA了。。高精度除法的编程复杂度确实有点。2.标程算法要简单的多,考虑...
阅读全文
摘要:第一题:题目大意:给出N个人之间转账的手续X%,求出A转给B至少要多少钱才能使B得到100元。结果保留8位小数;N7 2 6 3 4 1 5,对应1 2 3 4 5 6 7很明显可以得到7->1->6->3->4->5->7和2->2两个循环节,则答案就是位置7和位置1交换,位置1和位置6……,每次...
阅读全文
摘要:第一题:题目大意:和day1一样,给出m个小于n的数,求出出现次数大于mdiv 2的数。数据范围加大,1<=n<=2^31 1<=m<=3000000解题过程:1.一开始写了个数组模拟链表hash,按mod指数p分类,用一个数组记录每一类的个数,如果每一类个数全部都小于等于一半,那么无解,如果有一个...
阅读全文
摘要:第一题:题目大意:给出m个小于n的数,求出出现次数大于mdiv 2的数。1pre),其次这个分数不能比当前剩下待拆分的值(a/b)大,即 1/x x>b/a最后如果当前还能拆dep个分数,由于这个分数必定比剩下的那些要大,所以dep/x> a/b --> x < (b*dep)/a;3.第一次写的...
阅读全文
摘要:题目大意:设 2n 张牌分别标记为 1, 2, ..., n, n+1, ..., 2n,初始时这 2n 张牌按其标号从小到大排列。经一次洗牌后,原来的排列顺序变成 n+1, 1, n+2, 2, ..., 2n, n。即前 n 张牌被放到偶数位置 2, 4, ..., 2n,而后 n 张牌被放到奇...
阅读全文
摘要:第一题:题目大意:给出n种物品和每种物品的件数,求拿k件的方案数。Nx->y->t,要么是s->y->x->t,两种情况取权值小的那个更新答案即可。算是比较简单的题吧。
阅读全文
摘要:第一题:题目大意:设 2n 张牌分别标记为 1, 2, ..., n, n+1, ..., 2n,初始时这 2n 张牌按其标号从小到大排列。经一次洗牌后,原来的排列顺序变成 n+1, 1, n+2, 2, ..., 2n, n。即前 n 张牌被放到偶数位置 2, 4, ..., 2n,而后 n 张牌...
阅读全文
摘要:题目大意:求出区间[a,b]之间的回文质数。 a10000)13 break;14 check[c]=true;15 if (i % prime[j]==0)16 break;17 ...
阅读全文
摘要:第一题:(贪心)题目大意:给出N*M的矩形,要用正方形将它铺满(正方形之间不能重叠),相邻的正方形颜色不能相同,颜色用ABCD表示。要求从上到下从左到右字典序最小。N,M<=100解题过程:1.首先感觉是能放就尽可能使正方形边长大,但是很明显有反例(见图A)2.然后想到从上到下从左到右,依次检查,如...
阅读全文
摘要:第一题:(水题)题目大意:就是给出扫雷的图,然后统计每个九宫格的雷的个数。解题过程:1.好久没做这样的水题了。直接模拟水过。。第二题:题目大意:给出一个长度小于1000的数k,要求一个尽可能小的数x,这个数的各个位的乘积为k;解题过程:1.想不到什么高级的算法,感觉就是考高精度除法,于是果断dfs爆...
阅读全文
摘要:题目大意:求出满足条件A的等差数列;A:长度为N(Nmax(max=2*m*m),那么直接退出;不必一一在表中找到数列中的元素,只要开一个hash,表示某个数是否在表中,然后每次根据首项每次加公差p,然后看hash是否为true。然后就AC了。还是非常不错的一道题目。。
阅读全文
摘要:第一题:(水题)题目大意:求出n个 X% (X是小于等于2位的整数) 的乘积,去掉末尾的0;解题过程:1.直接 把整数乘好,然后确定小数点的位置,去掉多余的0 输出即可。第二题:(搜索题)题目大意:给出5*5的矩阵,矩阵由J 和 H 组成。 求出 规模为7 且 J的个数多于H的四连通块的个数。解题过...
阅读全文
摘要:题目大意:给出一棵n个节点的有根树,一开始 树根 是一个控制点,现在要增加m个控制点,使得总费用最少。给出每个节点的父节点以及到父节点的距离,还有这个节点的权值, 一个节点的费用 即它的权值 乘以 离他最近的且是控制点的祖先的距离。 (控制点的费用为0); n<=100 m<=50解题过程:1.一看...
阅读全文
摘要:题目大意:一条数轴上有 n 个 MM 在哭,需要tcboy去安慰,tcboy 一开始站在第k个MM身边,每个MM 哭都会减掉tcboy的RP。确定安慰MM的顺序使得RP扣得最少。求 min(Rp_cost); (安慰不要时间。。。)其实就是经典的关灯问题: 一条数轴上有很多灯,需要全部关掉,每盏灯的...
阅读全文
摘要:最后一天。。有些感慨,这七天被虐的感动万分第一题:题目大意:求出 n*i(i=1,2,3....n) mod p的逆元 n<p<=3000000 ,p是质数。之前写过了,懒得再写了。链接http://www.cnblogs.com/vb4896/p/3911283.html第二题:题目大意:给区间染...
阅读全文
摘要:第一题:题目大意:给出一个N*N的矩阵,矩阵元素均为0或1。定义矩阵权值为sum(F[i][j]*F[j][i]);给出K个操作:询问矩阵的权值mod 2。将矩阵的某一行元素取反(0变成1,1变成0)。将矩阵的某一列元素取反。N<=1000,K<=10^5解题过程:一开始看到K的范围有点大,肯定不能...
阅读全文
摘要:题目简单,思路很快就有,关键是代码实现能力,大概3个多小时完成。第一题:题目大意:将一个10进制数N转换成-B进制数(负进制转换);B<=20,N(-32768<=N<=32767);解题过程:首先想到仿照 正进制转换过程,但结果中有负数,就想到把负数处理掉,加个B即可,为了是结果不变,比它高1位的...
阅读全文
摘要:第一题: 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差的绝对值>=1。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后2位。...
阅读全文
摘要:第一题(神经网络):题目大意,给出一些点,每个点都有2个值,c和u,给出一些有向边,权值为w。入度为0的点的c已知,其它点的c未知,每个入度不为0的点node的c等于sum(c[k]*w[k][node]),k为与它相连(有向边指向node)的点。求所有出度为0且c>0的点。解题过程: 此题的方法应...
阅读全文
摘要:第一题:津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。 为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20%还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,...
阅读全文
摘要:第一题:在Mars星球上,每个Mars人都随身佩带着一串能量项链。在项链上有N颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记。因为只有这样,通过吸盘(吸盘是Mars人吸收能量的一种器官)的作用,这两颗珠子...
阅读全文
摘要:第一题:(简单的模拟题)给出一个N位二进制数,有‘+’, ‘-’, ‘*’, ‘/’操作,分别表示加1,减1,乘2,除以2,给出M个操作,求出M个操作后的二进制数。N,M>1=-4;考试时百思不得其解,搜了些资料http://www.cnblogs.com/myblesh/articles/2431...
阅读全文
摘要:早就听说矩阵乘法的威力,今天培训第三题也是用矩阵优化递推,以前一直以为很难,今天静下心来好好看了看,终于稍微懂了些。。优化斐波那契数列;根据 定义 f(x+2) = f(x+1) + f(x) 可以 求出 a,b,c,d 然后因为矩阵乘法符合结合律[a*(b*c) = (a*b)*c ]用快速幂求就...
阅读全文
摘要:第一题:给出数轴正半轴上N个点的坐标和其权值,给出初始体力值M,人一开始在位置0,体力值会随着走过路程的增加而增加,走多少个单位的路消耗多少体力值。到每个点可以打掉,消耗的体力值就是其权值。求最多能打掉多少点。N<=10000,其他<=10^18;解题过程:1.一开始就直接想到是贪心,首先人是不可能...
阅读全文
摘要:这个博客讲的很好,直接拉过来了。http://blog.sina.com.cn/s/blog_7c4c33190100s48a.html网络上讲的也很少,这个算是最清楚的了。定义:满足a*k≡1 (mod p)的k值就是a关于p的乘法逆元。为什么要有乘法逆元呢?当我们要求(a/b) mod p的值,...
阅读全文
摘要:弱校ACM奋斗史题解:还记得2年前的一个晚上,我和一个女孩一起写完了这篇文章。写完后,她哭了,我笑了。然后,她走了,我哭了。2年后,我又找到她,这次,我没有让她走掉,她成了我的新娘。不知道什么时候,开始知道ACM;也不知道什么时候,开始喜欢上ACM。但是,我知道,我喜欢上了,而且不会后悔。我是大一的...
阅读全文
摘要:第一题:题目大意:给出一个M面的骰子,投N次,求最大期望值。最大期望值的定义:比如M=2,N=2,那么2次可以是1,1,最大值为1;1,2最大值为2;2,1最大值为2;2,2最大值为2;最大期望值就是(1+2+2+2)/4=1.75也就是把所有情况的最大值加起来,除以方案数。M,N<=5000解题过...
阅读全文
摘要:第一题:(骗分容易,AC难。)题目大意:给出一个字符串,找出满足条件A的区间的个数。A:字符A,B,C的出现次数相同。都出现0次也算,区间的长度可以是0(就是只有一个数).30% |S| ≤ 100 。70% |S| ≤ 1000 。100% 1 ≤ |S| ≤ 1000000 。解题过程:1.考场...
阅读全文
摘要:题目原题可以看POJ2411,大意是给出m*n的矩形,要用2*1的矩形将它铺满(不能讲一个矩形铺在另外一个上面),求方案数,并且只要不是完全相同的就算不同的方案,也就是对称算不同的方案。F[i][s]表示前i-1行已经填满,并且第i行的状态是s的方案数。F[i][s]=sum(F[i-1][s’])...
阅读全文
摘要:你赢得了一场航空公司举办的比赛,奖品是一张加拿大环游机票。旅行在这家航空公司开放的最西边的城市开始,然后一直自西向东旅行,直到你到达最东边的城市,再由东向西返回,直到你回到开始的城市。每个城市只能访问一次,除了旅行开始的城市之外,这个城市必定要被访问两次(在旅 行的开始和结束)。你不允许使用其他公司...
阅读全文
摘要:警卫安排(guard)【题目描述】一个重要的基地被分为 n 个连通的区域。出于某种神秘的原因,这些区域以一个区域为核心,呈一颗树形分布。在每个区域安排警卫所需要的费用是不同的,而每个区域的警卫都可以望见其相邻的区域,只要一个区域被一个警卫望见或者是安排有警卫,这个区域就是安全的。你的任务是:在确保所...
阅读全文
摘要:有n片荷叶正好在一凸多边形顶点上有一只小青蛙恰好站在1号荷叶的点小青蛙可以从一片荷叶上跳到另外任意一片荷叶上给出N个点的坐标N<800求小青蛙想通过最短的路程遍历所有的荷叶一次且仅一次的最短路径。这题如果没有凸多边形的性质,就是裸的TSP问题,数据范围没法做的很大,用dp做也最多做到n=20左右,即...
阅读全文
摘要:【题目描述】给定一具有N个顶点(从1到N编号)的凸多边形,每个顶点的权均已知。问如何把这个凸多边形划分成N-2个互不相交的三角形,使得这些三角形顶点的权的乘积之和最小?【输入格式】第一行 顶点数N(N<50)。第二行 N个顶点(从1到N)的权值,权值为小于32768的整数。给点顺时针标号,动态规划方...
阅读全文
摘要:火车站内往往设有一些主干线分叉出去的铁路支路,供火车停靠,以便上下客或装载货物。铁路 支路有一定长度;火车也有一定的长度,且每列火车的长度相等。 假设某东西向的铁路上,有一小站。该站只有一条铁路支路可供火车停靠,并且该铁路支路最多 能容纳 M 辆火车。为了火车行驶的通畅,该站只允许火车自东方进站,自...
阅读全文
摘要:Peter最近在R市开了一家快餐店,为了招揽顾客,该快餐店准备推出一种套餐,该套餐由A个 汉堡,B个薯条和C个饮料组成。价格便宜。为了提高产量,Peter从著名的麦当劳公司引进了N条 生产线。所有的生产线都可以生产汉堡,薯条和饮料,由于每条生产线每天所能提供的生产时间是有 限的、不同的,而汉堡,薯条...
阅读全文
摘要:RT,一个ppt里看到的题,不过没讲做法。百度上基本搜不到。自己想了个做法,理论上可行,复杂度也是O(nlogn)。首先,做一次RMQ,求区间最大值。对于任意一个数s[i],可以用logn的时间求出他右边第一个比他大的数:RMQ[i][j]表示从s[i]开始的2^j个数中的最大值。对于确定的i,RM...
阅读全文
摘要:方法一:快速幂。但是肯定还是超时。 方法二:利用等比数列公式,但是有除法,做不下去了。 方法三:有点分治的味道.. n为奇数时,x^0+x^1+x^2+.......x^n=(x^0+x^1+x^2+.....x^(n/2))*(1+x^(n/2+1)) n为偶数时,F(n)=F(n-1)+x^n;
阅读全文
摘要:今天状态不错。。1个小时AC了前3题,第四题第一次也拿到了80%的分数,后来换了算法才拿到全部分数。。第一题:小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找...
阅读全文