题目链接:点这里!!!!
题意:
T(T
给你n(n
再给你n个青蛙一次能顺时针跳动的距离a[i](a[i]
所有青蛙的初始位置都在0点,问你那些至少被一个青蛙接触过的时候的石头编号的总和。
题解:
1、针对每个a[i],我们很容易知道第i个青蛙能到达的编号为k*gcd(a[i],m)
2、我们发现gcd(a[i],m)是m的一个因子,=-=到这里我们就大概...
分类:
其他好文 时间:
2016-05-12 17:07:19
阅读次数:
149
题意:有n个点和m条道路。有一些点必须经过了某些点后才能到达,问从起点到达终点的最短时间。
分析:带限制的最短路。
设d1[x]为可以进入点x的时间,d2[x]为到达点x的时间,s[x]为点x被多少个点保护。
一开始以为d1和d2是有关联的,也就是要通过d1来推出某些d2,然后想破脑袋都想不出(其实也没那么夸张啦)。后来看了题解才发现这两个可以分开求,然后进入点x的实际时间为max(...
分类:
其他好文 时间:
2016-05-12 17:01:35
阅读次数:
147
关于在MyEclipse上WEB工程里面的JS/JSP经常会有语法错误提示,这是由于MyEclipse对其语法要求相
当严格所造成的,而这些文件本身是可以运行并没有什么错误的,在你实际应用部署中并无影响。
此问题解决办法有两种:
一、就是您不用去管它提示,直接部署到你的WEB容器上运行是可以的,但此方法欠妥当。
二、选择你的工程右击菜单 >>点击MyEclipse菜单项的Exclu...
分类:
Web程序 时间:
2016-05-12 16:38:49
阅读次数:
180
题目大意:给定一张n个点m条边的带权有向图,每条边的边权只可能是1,2,3中的一种,输出k段路径,没有输出-1
一眼矩阵乘法嘛,弱智题O((3*N)^3*log(INF)*log(K))
然后手贱搜了一下题解,把我惊到了...
首先这个时间复杂度是过不了的,也就是说不能二分然后快速幂直接判
应该先预处理出来所有2的k次幂,然后就像LCA一样,这样可以一个log搞出来
其次是........
分类:
其他好文 时间:
2016-05-12 16:38:42
阅读次数:
280
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1072
题意:给你一个地图,让你在炸弹爆之前找到出口,最初炸弹设定为6,每走一格需要1,中途有地方能让炸弹的时间重置为6,找到出口的最短时间。
题解:直接上BFS,需要注意的是要另开一个数组来存当前位置的炸弹最大时间,如果走回来时炸弹比原来的时间小,就不走。
#include
#inclu...
分类:
Web程序 时间:
2016-05-12 16:30:36
阅读次数:
179
题目大意有一个n的排列,进行m次操作,每次操作是将一个区间升序或降序排序。
请你输出m次操作后第p个位置的值。二分答案题解好机智!
我们二分答案x,然后就是判断a[p]>=x?
把原序列转化为01序列,0表示小于x,1表示大于等于x。
那么区间升序排序其实就是把0全放前面,1都放后面。
用线段树兹瓷区间赋值就好了。
然后只需要维护区间0的个数。#include
#incl...
分类:
编程语言 时间:
2016-05-12 15:51:50
阅读次数:
234
题目链接:点这里!!!
题意:
输入n(n
针对每个q,输入x,如果a[x]在不在集合里面,将a[x]插入进去,并且求当前该集合中有多少对互质的数;
如果a[x]在集合里面,将a[x]删除,并且求当前该集合有多少对互质的数。
题解:
1、 将所有数的素因子求出来。(最多6个)
2、如果将a[x]插入...
分类:
其他好文 时间:
2016-05-12 15:47:14
阅读次数:
176
题意:
给出一棵树,有两种操作:
C x:标记点x;
Q x:查询某个点的最近被标记祖先;
n,m
题解:
首先我们发现如果标记了一个点,其影响是对于个子树,也就是一段DFS区间的;
那么我们可以转化成一个序列上的问题:区间加入一个值,单点查询最大值;
然后直接标记永久化搞个线段树套set就可以了,时间复杂度O(nlog^2n);
【我怎么突然感觉不用套set直接维护最小...
分类:
其他好文 时间:
2016-05-12 15:39:26
阅读次数:
143
写完后看了很多题解,发现大家用数位DP都要用dfs,感觉直接循环也很好理解啊...
设dp[i][j][0]表示长度为i,含有j个0且最高位为0的数字的个数;dp[i][j][1]表示长度为i,含有j个0且最高位为1的数字的个数
初始:dp[1][0][1]=1;//长度为1,含有0个0且最高位为1的数字个数为1
dp[1][1][0]=1;//长度为1,含有1个0且最高位为0的数字个数为1
然后通过状态转移,预处理出所有的结果
最后再在函数中进行从高位到低位的按位统计
差不多有点感觉了...
分类:
其他好文 时间:
2016-05-12 15:33:33
阅读次数:
143
题意:
给定4个n(1 <= n <= 4000)元素集合A, B, C, D,要求分别从中选取一个元素a, b, c, d,使得a+b+c+d = 0,问有多少种选法。
分析:
显然四重循环是过不了的,我先想到的是用map把a+b,c+d分别保存起来,然后在查找统计。超时。。。。
然后书上说用哈希表去实现,看到有的题解hash表示的太巧妙了,学习一下。
还有就是这题可以用二分解决,先计算...
分类:
其他好文 时间:
2016-05-12 15:11:28
阅读次数:
189