上一页 1 2 3 4 5 6 7 ··· 26 下一页
摘要: 模拟题,意思是一个字符串,单词直接用','或';'来分割,可以为空,把不含前导0的整数和其他单词分别放入A和B。按照一定格式输出。没有用stl的习惯。维护两个下标i,j,表示开区间(i,j),两段补上分割符号。每个单词后面都加上一个',',输出的时候在处理掉。用最后的','判断A和B是不是空。#in... 阅读全文
posted @ 2015-11-29 00:02 陈瑞宇 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 要保证变化次数最少就是出现次数为奇数的相互转化,而且对应字母只改变一次。保证字典序小就是字典序大的字母变成字典序小的字母。长度n为偶数时候,次数为奇数的有偶数个,按照上面说的搞就好了。n为奇数时,要考虑最后中间那个字母。交换法可以证明,其实是贪心最后没有转化掉的字母。#includeusing na... 阅读全文
posted @ 2015-11-28 22:47 陈瑞宇 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 题目的数学模型:求,和号:|Xi-Xj|*max(Vi,Vj),i != j.按照大小顺序枚举可以处理取max的问题,假如从小到大枚举到Vi,对另外一部分,XXi的情况,维护一下总和减一减。#include#include#include#include#include#include#includ... 阅读全文
posted @ 2015-11-28 01:41 陈瑞宇 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 条件a+b == d-c,O(n*n)枚举出所有的形如a+b的和,然后从大到小枚举d,在枚举c,二分找d-c。主要是要用容斥排除c和d出现在和中,详细的过程见注释。复杂度为O(n^2log(n^2))。/************************************************... 阅读全文
posted @ 2015-11-27 09:54 陈瑞宇 阅读(503) 评论(0) 推荐(0) 编辑
摘要: 题意:求N个元素的非空子集和的绝对值最接近0,在此条件下子集大小尽量小,N≤35。N/2是17和18,217和218都是1e5的数量级,是可以枚举的。枚举后得到的集合记为P,Q,ans要么单独在P或者Q中,要么是两者的和。把Q中所有元素反号以后,枚举P中元素pi,就是找一个最接近pi的qj。所以只要... 阅读全文
posted @ 2015-11-26 12:30 陈瑞宇 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 模型是个线性模2方程组。高斯消元的话可能解不唯一,要找独立变元。但是不难看出,枚举左端点按下的状态,之后可以影响端点就只有一个变量了,根据端点递推了,然后检查。(写的时候想的是枚举左右端点/*******************************************************... 阅读全文
posted @ 2015-11-25 08:41 陈瑞宇 阅读(212) 评论(0) 推荐(0) 编辑
摘要: n虽然高达1e14,但是满足条件的s不会超过sqrt(n)。可以想到在O(sqrt(n))的复杂度下,求一个[1,sqrt(n)]连续区间和为n的方案。/********************************************************** ---... 阅读全文
posted @ 2015-11-24 12:46 陈瑞宇 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 素数非负使得前缀和单调,于是对于固定的区间尾部j,头部i也是单调的,区间和更新的时候维护一下就好。/********************************************************** ------------------ ... 阅读全文
posted @ 2015-11-23 08:57 陈瑞宇 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 题意:询问一个静态序列的连续区间和绝对值最接近t的下标。分析:由于询问的是绝对值,可以用前缀和相减得到区间和,并且和位置前后没有关系。于是把记录下标信息以后把前缀和排序枚举大的前缀pj,pj-pi ≈t,满足条件的:有pj-t的plower_bound以及plower_bound-1。而pj-t也是... 阅读全文
posted @ 2015-11-22 18:35 陈瑞宇 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 高度之间的关系可以改写成一个递推式:Hi+1 = 2Hi - Hi-1 + 2。Hn和Hi之间是正相关的。思路见注释。(一开始是那么想的,其实不用矩阵快速幂,二分H2也可以。/********************************************************** ... 阅读全文
posted @ 2015-11-21 11:55 陈瑞宇 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 很容易得到n× m的方块数是然后就是个求和的问题了,枚举两者中小的那个n ≤ m。然后就是转化成a*m + c = x了。a,m≥0,x≥ c。最坏是n^3 ≤x,至于中间会不会爆,测下1e18就好。#includeusing namespace std;typedef long long ull;... 阅读全文
posted @ 2015-11-21 11:54 陈瑞宇 阅读(471) 评论(0) 推荐(0) 编辑
摘要: Bi表示第i个块,那么就是说Bi max≤Bi+1 min,又因为Bi min≤ Bi max,因此只要判断前缀的最大值是否小于等于后缀。#includeusing namespace std;typedef long long ll;const int maxn = 1e5+1;int h[max... 阅读全文
posted @ 2015-11-21 11:42 陈瑞宇 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 一道水题WA那么多发,也是醉了。f看成函数的话,其实就是判断一下反函数存不存在。坑点,只能在定义域内判断,也就是只判断b[i]。没扫一遍前不能确定Impossible。#includeusing namespace std;typedef long long ll;const int maxn = ... 阅读全文
posted @ 2015-11-21 11:39 陈瑞宇 阅读(636) 评论(0) 推荐(0) 编辑
摘要: 二分kth,答案满足的条件为:m≤ 小于等于x的值数cntx。x和cntx单调不减,随着x增大,条件成立可表示为:0001111。本地打一个小型的表可以发现列编号j固定时候,目标函数f(i,j)似乎具有单调性。变形,f(i,j) = (i+100000+j)*i + j2 -100000,可以看出确... 阅读全文
posted @ 2015-11-20 18:41 陈瑞宇 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 二分中间值x,x和大于等于x的值的数量cnt具有单调性,随着x增大,满足cntx #include#include#include#include#include#include#include#include#include#include#include#includeusing namespa... 阅读全文
posted @ 2015-11-19 13:32 陈瑞宇 阅读(214) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 26 下一页