题目大意:求[a,b]间所有的整数中0~9每个数字出现了几次
令f[i]为i位数(算前导零)中每个数出现的次数(一定是相同的,所以只记录一个就行了)
有f[i]=f[i-1]*10+10^(i-1)
然后照例十进制拆分
其中计算[0,999...9]的时候要从1~9枚举最高位,然后其余位调用f[i-1]即可
剩余部分已知位直接乘,未知位调用f[i]
#include
#include
...
分类:
其他好文 时间:
2014-10-14 16:35:08
阅读次数:
130
题目大意:求[a,b]区间内有多少个数满足任意相邻两个位置上的数>=2
首先将[a,b]分解为[1,b]-[1,a-1]
然后令f[i][j]为以i开头的j位windy数有多少个
然后十进制拆分即可
此题有些要讨论的地方:
1.小心爆int
2.最后一位要单独讨论
3.已经确定的数字是否不满足windy数的条件
4.一开始的[0,99...99]的区间需要单独计算
#includ...
题目大意:给定一个m*n的地图,一些点有障碍物,钢琴初始在一个点,每个时间段可以选择向给定的方向移动一段距离,求最长路径长
朴素DP的话,我们有T个时间段,每个时间段有m*n个点,n个时间,一定会超时
考虑到一个时间段所有的更新操作都是相同的,我们可以考虑单调队列优化
设队尾为(x,y),新插入的点为(x',y'),那么当Distance( (x,y) , (x',y') )
四遍单调队...
分类:
其他好文 时间:
2014-10-14 15:06:31
阅读次数:
227
题目大意:给定一个无向图,求联通块个数,以及k次每次摧毁一个点后的;联通块个数
将边和摧毁的点全记录下来,反着做即可。
注意被摧毁的点不能算作联通块
#include
#include
#include
#include
#define M 400400
using namespace std;
struct abcd{
int to,next;
}table[M];
int head[M...
分类:
Web程序 时间:
2014-10-14 11:21:28
阅读次数:
236
题目大意:给定一个序列,提供下列操作:
1.在数组结尾插入一个数
2.给定l,r,x,求一个l
首先我们可以维护前缀和 然后就是使x^sum[n]^sum[p-1]最大
x^sum[n]为定值,于是用Trie树贪心即可
考虑到l-1
每个区间[l,r]的Trie树为tree[r]-tree[l-1]
注意0要插入一个数字0,所以把-1作为空节点,然后把数组向前推进一位即可
#inc...
分类:
其他好文 时间:
2014-10-14 11:13:48
阅读次数:
206
1003: [ZJOI2006]物流运输trans
Time Limit: 10 Sec Memory Limit: 162 MB
Submit: 3479 Solved: 1416
[Submit][Status]
Description
物流公司要把一批货物从码头A运到码头B。由于货物量比较大,需要n天才能运完。货物运输过程中一般要转停好几个码头。物流公司通常会设计一条固定的...
分类:
其他好文 时间:
2014-10-14 10:50:08
阅读次数:
166
1067: [SCOI2007]降雨量Time Limit:1 SecMemory Limit:162 MBSubmit:2010Solved:503[Submit][Status]Description我们常常会说这样的话:“X年是自Y年以来降雨量最多的”。它的含义是X年的降雨量不超过Y年,且对于...
分类:
其他好文 时间:
2014-10-13 23:28:07
阅读次数:
330
题目大意:给定一棵树,可以删掉k条边,求删掉后森林中所有树直径的最大值的最小值
最大值最小,典型的二分答案
此题我们二分树的直径,每次二分DFS一次,对于每个节点统计出所有子树删边后的dis,排序,贪心删掉最大的,直到最大的两个子树相加不会超过二分的答案为止
时间复杂度O(nlog^2n)
老子的二分居然写挂了。。。桑不起啊啊啊啊
#include
#include
#include
#...
分类:
其他好文 时间:
2014-10-13 23:22:27
阅读次数:
183
题目大意:给定一棵树,每个节点有权值,询问两个节点路径上的权值第k小
这题很卡时间。。。
树链剖分+二分+树套树的O(nlog^4n)做法可以去死了
没有修改操作,树链剖分+二分+划分树O(nlog^3n),还是死了
我怒了,裸学了一发可持久化线段树(不看任何代码OTZ,我是怎么做到的0.0),二分+主席树,O(nlog^2n),居然还是死了!
最后发现我SB了,完全没有必要二分,直...
分类:
其他好文 时间:
2014-10-13 20:02:37
阅读次数:
373
1500: [NOI2005]维修数列Time Limit:10 SecMemory Limit:64 MBSubmit:6556Solved:1963[Submit][Status]DescriptionInput输入文件的第1行包含两个数N和M,N表示初始时数列中数的个数,M表示要进行的操作数目...
分类:
其他好文 时间:
2014-10-13 18:09:51
阅读次数:
244