随笔分类 -  ICPC-其他

摘要:题目链接 题意 : 给出一个 n 个元素的环、可以任意选择起点、选完起点后、可以行走 m 步、每次前进 k 个单位、所走到的点将产生正或负贡献、问你一开始得准备多少才能使得初始资金加上在环上获取最大利益不少于给定的 s 分析 : 对于一个环、固定步数下是有循环节的 不同循环节内的节点各不相同 根据裴 阅读全文
posted @ 2018-08-26 17:09 qwerity 阅读(408) 评论(0) 推荐(0)
摘要:#include <bits/stdc++.h> using namespace std; class DividedByZeroException {}; class BigInteger { private: vector<char> digits; bool sign; // true for 阅读全文
posted @ 2018-06-05 10:24 qwerity 阅读(289) 评论(0) 推荐(0)
摘要:莫队算法是由清华大学神牛莫涛发明的一种处理区间问题的离线算法 算法核心是通过先将问询区间总长度平方分块、然后将所有的问询区间按照左端点所在的块编号排序、在同一块内的则按右端点升序 然后设置左右两个下标指针、每次都移动两个指针指向问询块的左右端点、在移动的过程中不断维护答案。 可以证明原本只通过两个下 阅读全文
posted @ 2018-06-05 00:02 qwerity 阅读(526) 评论(0) 推荐(0)
摘要:单调栈简单点说就是维护一个元素满足单调性的栈,即栈内元素总是单调的 找出序列中某一个元素 左边/右边 第一个 比它 大/小 的元素的位置 用单调栈做的话,复杂度是 O(n) 的 如果要求比某一元素小的 第一个 元素的位置的话,维护递减 如果要求比某一元素大的 第一个 元素的位置的话,维护递增 裸题在 阅读全文
posted @ 2018-04-21 16:56 qwerity 阅读(268) 评论(0) 推荐(0)
摘要:题目链接 题意 : 小Z决定向女神表白,但性格腼腆的小Z决定隐晦一点,截取一段包含'L'、'O'、'V'、'E'的英文。(顺序不限)小Z想起之前小D送给他一本英文书,决定在这里面截取一段话,小Z发现有好多种方案来截取这段话。你能知道小Z能有多少种方案截取这段话么?为了简化问题,英文文本讲不会出现空格 阅读全文
posted @ 2017-12-14 21:01 qwerity 阅读(248) 评论(0) 推荐(0)
摘要:题意 : 给你一本书、整本书有若干个不同的知识点,书的每一页都包含了一个知识点 ( 包含的知识点可能与其他页重复 ),问你如果取连续的几页用来读完书中包含的所有知识点,那么这连续的几页最少是多少?( 书的页数 ≤ 1e6 ) 分析 : 最直接的想法就是先 O(n) 地枚举页首,然后计算贡献,在过程中 阅读全文
posted @ 2017-12-14 13:02 qwerity 阅读(139) 评论(0) 推荐(0)
摘要:题意 : 找出给定序列长度最小的子序列,子序列的和要求满足大于或者等于 S,如果存在则输出最小长度、否则输出 0(序列的元素都是大于 0 小于10000) 分析 : 有关子序列和的问题,都可以考虑采用先构造前缀和的方式来进行接下来的操作 ( 任意子序列的和都能由某两个前缀和的差表示 )。 二分做法 阅读全文
posted @ 2017-12-12 17:18 qwerity 阅读(171) 评论(0) 推荐(0)
摘要:inline bool scan_d(int &num) { char in;bool IsN=false; in=getchar(); if(in==EOF) return false; while(in!='-'&&(in'9')) in=getchar(); if(in=='-'){ IsN=true;num=... 阅读全文
posted @ 2017-09-13 20:06 qwerity 阅读(164) 评论(0) 推荐(0)
摘要:题意 : 给出一个长度为 n 的不降序序列,并且给出 q 个形如(L, R)的问询,问你这个区间出现的最多次的数的次数。 分析 : 很自然的想到将区间“缩小”,例如1 1 2 3 3 3就可以变成2 1 3,构造出“数量数组”,这个数组实际上就是已经将原来区间分了块,但是问询的区间不可能就是这些“数 阅读全文
posted @ 2017-08-20 18:22 qwerity 阅读(218) 评论(0) 推荐(0)