题目连接:zoj2112
给出n个点,两种操作,Q:询问在[l,r]内的第k大的数,C:更改第i个数位x
动态的询问第k大,使用树状数组修改和查询前缀和。
因为给出的空间小,所以可以将n个点做成一个静态的主席树,然后对于修改的值,在另一个主席树中修改,查询时同时查询这两个主席树就可以了。
#include
#include
#include
using namespace std ;...
分类:
编程语言 时间:
2015-04-27 21:44:55
阅读次数:
165
今天软院校赛,有一道H题非常的神,所以记下来。题意转化了之后就是求欧拉函数的前缀和。自然的想法是O(n)的线性预处理可以求出前n个数的欧拉函数,又或者是O(sqrt(n))的预处理求出单个数的欧拉函数。但是题目要求的是前n(n<=10^9)个数欧拉函数的前缀和。于是我就觉得这是没法做的了,赛后问了出...
分类:
其他好文 时间:
2015-04-26 01:17:15
阅读次数:
597
设这个序列的前缀和为Si(0 2 #include 3 4 const int maxn = 15; 5 int n; 6 int G[maxn][maxn]; 7 char s[100]; 8 int sum[maxn], a[maxn]; 9 10 int topo[maxn], c[ma...
分类:
编程语言 时间:
2015-04-25 12:10:25
阅读次数:
179
Python 用下划线作为变量前缀和后缀指定特殊变量
_xxx 不能用’from module import *’导入
__xxx__ 系统定义名字
__xxx 类中的私有变量名
核心风格:避免用下划线作为变量名的开始。
因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始。一般来讲,变量名_xxx被看作是“私有 的”,在模块或类外...
分类:
编程语言 时间:
2015-04-24 22:50:01
阅读次数:
164
一、Python变量和数据类型1.1、数据类型1.1.1 整数Python可以处理任意大小的整数,当然包括负整数,在Python程序中,整数的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。
计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。1.1.2 浮点数浮点数也就是小数...
分类:
编程语言 时间:
2015-04-23 00:06:57
阅读次数:
325
题目大意:
给你两个串S1和S2,求既是S1的前缀同时是S2的后缀的最长字符串及长度。
思路:
KMP算法中Next[j] == k的实质是当前字母不匹配时,模式串的前k项(S0~Sk-1)和位置j前
的k项(Sj-1-k~Sj-1)是相等的,这个k值是所有满足上面情况最大的。那么Next[len]的含义
就是模式串的最长的前缀和后缀相等的串长度。
利用Next[]的性质,先将串S2连接到S1后边。求S1的Next[]数组。那么,现在的Next[len]
就是S1的前缀和S2的后缀最长的长度,这是当这个长...
分类:
其他好文 时间:
2015-04-22 22:14:28
阅读次数:
116
1.题目描述:点击打开链接
2.解题思路:本题要求找在区间[L,R]中素因子只有一个且自身不是素数的数,这实际上就是找素因子的幂次大于1的数在该区间中有几个。可以利用前缀和的思想,用cal(k)表示不超过k的这样的数有几个,那么最终的答案就是cal(R)-cal(L-1)。而cal()函数可以通过逐一尝试素数计算最大幂次来得到。当p>sqrt(k)时即可停止枚举。
注意要用long long输...
分类:
其他好文 时间:
2015-04-21 09:44:51
阅读次数:
137
试卷中有这么一道题目:
1
2
int
a = 4;
(++a) += i;
求a的数值,正确答案是10。
如果你认为这道题重点只是考察运算符优先级,可能很容易得到正确的答案。
但是,考虑过为什么下面的代码无法编译么?
自己在笔试时,考虑到了关于表达式作为赋值运算符左值的问题,但是自己确实又对重载“++”操作符的...
分类:
其他好文 时间:
2015-04-20 22:47:02
阅读次数:
288
题意:
某 在0时刻开店, 然后按顺序来了n个客人,分别出了一个价格p[i],每个人来的时刻为 t[i]。
然后 某 在w时间内没接待客人就会睡觉,如果间隔正好是w,不会睡。 问接待的客人 出价的平均值最大是多少,在满足该条件下 w最低是多少。
做法:
不断求前缀和 还有 到第i个人间隔最大值。 接待的人肯定是连续的 前多少个。 先假设只接待第一个人,然后假设接待前两个,再前三个。 类推。
如果是正好前i个人,那么w得 大于等于 ( 到第i个人间隔最大值) ,而且要严格小于(第 i和i+1 个...
分类:
其他好文 时间:
2015-04-19 22:53:54
阅读次数:
150
题目链接:BZOJ - 3620题目分析这道题使用 KMP 做 O(n^2) 的暴力就能过。首先,我们依次枚举字串左端点 l ,然后从这个左端点开始向后做一次 KMP。然后我们枚举右端点 r,符合条件的右端点 r 就是 S[l..r] 这一段的一个前缀和后缀相同,并且这一部分的长度 x 要满足 k ...
分类:
其他好文 时间:
2015-04-16 23:33:26
阅读次数:
170