题目链接: https://vijos.org/p/1472 题目大意: S1={1,2,3…n}.当i>1时,Si为集合Si-1中任意两个不相同数之和的集合. 将每个集合中所有元素取出,集合Si的数放在集合Si+1的数的前面,同一个集合数从小到大排序,这样得到一个序列L. 题目输入n和K,求L中第K个数是多少. 变态的数据范围:K≤101000,1<n≤1000:且数据保证当n≤3时,K≤900000. 题目思路: [二分][高精度] 真是恶心的一道题啊..打了好久. S1={1,2,...…
题目链接: https://vjudge.net/problem/POJ-2109 题目大意: 有指数函数 k^n = p , 其中k.n.p均为整数且 1<=k<=10^9 , 1<=n<= 200 , 1<=p<10^101 给定 n 和 p ,求底数 k 思路: 一开始以为需要大数,没想到一个pow就行了,真是涨姿势 考虑到数值存储问题和精度问题,这题最直观的思路应该是使用 高精度算法 求解.    而事实上,这题也可用公式法求解,但需要一些技巧. 开方公式:k…
首先讲一下Comparable接口和Comparator接口,以及他们之间的差异.有助于Collections.sort()方法的使用.请参考 1.Comparable自然规则排序//在自定义类Student里面实现Comparable接口,并重写抽象方法compareTo(Student o);//Collections.sort(集合); 先看一个简单的例子: public static void main(String[] args) { List<Integer> nums = new…
#include<stdio.h> #include<string.h> //memset,strcpy,strlen函数头文件 int main(void) { ];//用来保存产生的下一个斐波那契数,当然了,是字符串形式 ;//max用来存放数位较长的个数 ],s2[]; //用来存储斐波那契数列的相邻两个数,并以字符串形式进行存储 ],b[];//转存到int数组中 long long n; scanf("%lld",&n);//输入你想要输出的菲…
列表 & 元组 & 字典 & 集合 序列 序列: 每个元素可以是任何类型(也可以是序列),每个元素被分配一个序号(从0开始)(序号,也叫索引,表示元素的位置) Python中的序列: 元组,列表,字符串,Unicode字符串,buffer对象,range对象 元组和列表的本质区别是:列表是可以修改的而元组则不能. 序列的基本操作: 索引(类似于数学中集合的元素):返回序列中的元素 使用方法:\[序列[编号]\] 示例: a=[1,2,3,4] a[0] 1 a[-2] 3 切片(类…
BZOJ_3343_教主的魔法_分块+二分查找 题意:教主最近学会了一种神奇的魔法,能够使人长高.于是他准备演示给XMYZ信息组每个英雄看.于是N个英雄们又一次聚集在了一起,这次他们排成了一列被编号为1.2.…….N.每个人的身高一开始都是不超过1000的正整数.教主的魔法每次可以把闭区间[L, R](1≤L≤R≤N)内的英雄的身高全部加上一个整数W.(虽然L=R时并不符合区间的书写规范,但我们可以认为是单独增加第L(R)个英雄的身高)询问WD闭区间 [L, R] 内有多少英雄身高大于等于C,以…
Cable master Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 32191 Accepted: 6888 Description Inhabitants of the Wonderland have decided to hold a regional programming contest. The Judging Committee has volunteered and has promised to orga…
目录 1.Python集合特点 2.Python集合的创建 3.操作集合常用API (1)增加数据 @1.add()方法 @2.update()方法 (2)删除数据 @1.remove()方法 @2.discard()方法 @3.pop()方法 @4.claer()方法 (3)查找数据 (4)copy()复制 4.集合的运算 1.Python集合特点 集合可以对自己的元素去掉重复数据. 集合元素的展示顺序和写入顺序不一致,所以集合元素是无序的,故集合也不支持下标. 集合是可变类型数据. 集合中只…
内置序列 容器类型 list .tuple和collections.deque这些序列能放入不同的类型的数据 扁平序列 str.byets.bytearray.memoryview(内存视图)和array.array(数组) 可变序列 list.bytearray.array.array.collections.deque和memoryview 不可变序列 tuple.str和bytes 可变序列所拥有的方法是在不可变序列的基础上增加的. 列表推导式 简单使用 列表是我们常见的可变序列,他是容器…
题意 : 给出两个操作,① 往一个序列集合(初始为空)里面不降序地添加数字.② 找出当前序列集合的一个子集使得 (子集的最大元素) - (子集的平均数) 最大并且输出这个最大差值 分析 :  首先关注到 ① 操作是有序地添加数 然后为了回答 ② 的问询,来分析一波 直觉告诉我们,要最大化差值,选取的子集最大元素应当越大越好 这一点是对的,具体的证明可以看 CF 的官方题解 那么也就是说选出的子集里面必定有当前序列集合的最大值元素 然后为了使(子集的平均数)越小,直觉又告诉我们 需要贪心地选择小的…