
枚举
文章平均质量分 53
Freopen
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【NOIP2016普及组】关于这四道水题
2016普及组已经考完了,我也写了四对,八个各种姿势的“freopen”。 废话不多说: 题目链接在此:NOIP2016普及组 第一题:铅笔(pencil): 初步判断水题,同学说算价格时用for循环,RX:#include <cstdio> using namespace std; int n,a,b,val=99999999; int main(){原创 2016-11-23 13:55:27 · 1325 阅读 · 1 评论 -
NOIP模拟赛 太阳神
太阳神拉很喜欢最小公倍数,有一天他想到了一个关于最小公倍 数的题目。 求满足如下条件的数对(a,b)对数:a,b 均为正整数且a,b<=n 而 lcm(a,b)>n。其中的lcm 当然表示最小公倍数。答案对1,000,000,007 取模 n<=10000000000 换个方向,求lcm(a,b)<=n的对数。 设gcd(a,b) = d sigma([a/d * b/d ...原创 2018-10-22 12:24:07 · 491 阅读 · 0 评论 -
NOI.AC #53. eval
题目描述 或许这道题比经典的“表达式求值”还是要简单一点的。 有一种简单的编程语言,我们如下定义其中的概念: 常数:单个数字,即 0 到 9。注意不会出现多位数字的情况。 变量:单个大写字母,即 A 到 Z。每个变量可以存储一个整数,所有变量的初始值为 0。 值:常数或者变量。 赋值语句:由变量、=、值构成,例如 A=3,B=A,C=C。表示将变量修改为右侧的值。 加法语句:由变量、+=、值构成,例如 A+=9,B+=B。表示将变量额外加上右侧的值。 语句:赋值语句、加法语句或者循环原创 2018-10-30 11:30:00 · 657 阅读 · 1 评论 -
归并法的另类活用
归并排序是OI中的一种常用方法,因为它借助了对于两个有序队列,合并成一个有序队列,只需要看队头,并以此达到O(n)的合并复杂度,至于分治只是活用它的一种方式罢了。 但是看队头的思想并不只局限于队列。 比如说丑数这个经典题: 对于一给定的素数集合 S = {p1, p2, …, pK},考虑一个正整数集合,该集合中任一元素的质因数全部属于S。这个正整数集合包括,p1、p1p2、p1p1、p1p2p...原创 2018-10-30 12:27:12 · 283 阅读 · 0 评论 -
高维偏序问题的解决与应用
K维偏序问题,在OI中指的是对于n个K维空间中的点,定义偏序a<b为点a的每一维都小于(或小于等于)b,对于每个点a,求有几个点j满足j<a 一维偏序:sort或者是树状数组||线段树||Splay。。。。。。 二维偏序:按第一维sort+树状数组||二维数据结构||CDQ分治(其实此时和归并排序差不多了) 应用:最长上升子序列??? 三维偏序:按第一维sort+树状数组+CDQ分治|...原创 2018-11-01 15:51:33 · 1211 阅读 · 0 评论 -
[THUWC2017]随机二分图
dalao的博客 以前觉得很神的题。 分拆条件即可。 状压存边真是秀到我了。 #include<bits/stdc++.h> #define mod 1000000007 #define maxn 16 using namespace std; #define Siz 20000007 #define Hashmod 10000007 #define inv2 (mod+1)/2 ...原创 2019-01-09 21:05:12 · 336 阅读 · 0 评论 -
AC自动机优化爆搜
(这标题怎么这么无奈。。。。。。) 顾名思义,就是在字符串爆搜的时候,如果有子串限制,并且限制有包含关系(即A串包含B串则如果B串被限制则A串也被限制),且判断是否限制耗时较长,可以想到搜索时map记忆化从长度为1到长度为n的后缀判断剪枝?但是不够快,可以建出广义后缀自动机或AC自动机(如果你可以接受)来直接从已判断过的最长后缀开始。 ...原创 2019-01-16 19:33:42 · 284 阅读 · 0 评论 -
UOJ #188. 【UR #13】Sanrd (Min_25筛的广义应用)
题目 我琢磨着我怎么越来越会写标题了呢? 这个题很明显不是积性函数。 就像:51nod 1847 奇怪的数学题-对次小质因数下功夫。 而这个题是让我们求次大质因数。 考虑Min_25筛第二部分求答案的过程。 S(a,b)表示2~a中minprime&gt;=primebminprime &gt;= prime_bminprime>=primeb的答案。 那么S(a,b)可以...原创 2019-03-07 16:07:33 · 269 阅读 · 0 评论 -
BZOJ 3901 棋盘游戏(可能是网络流但我只会暴力)
题面: 在一个游戏中,给定一个 n n 的正方形棋盘,每个格子内有一个整数。保证 n 为奇数。令 x = (n+1)/2 。你可以进行下述操作任意次:每次选择一个 x * x 的子棋盘,将其中所有数乘上-1。 求经过一系列操作后棋盘上所有数之和的最大值。 从x突破。 首先发现对于(x,x)每一个操作都要改它,它的正负性为操作次数的奇偶性。 然后发现对于(x,a)和 (x,a+x) (a&l...原创 2019-03-12 10:30:41 · 196 阅读 · 0 评论 -
51nod 1989 竞赛表格(信仰题)
定义rev(i)rev(i)rev(i)为i十进制下各位翻转所得的数,例如rev(2345)=5432,rev(3210)=123rev(2345)=5432,rev(3210)=123rev(2345)=5432,rev(3210)=123。 l0nl1f3比较无聊,他打算用revrevrev函数进行一个游戏。 他找了一个无穷大的表格,设第i行第j列的格子上的数为f(i,j),那么f满足 f(x...原创 2019-03-18 19:26:09 · 301 阅读 · 0 评论 -
单纯形和对偶原理
这个博客是拿来了解线性规划的 这个博客才是来学习单纯形的 这个博客是拿来学习模板的 VFK大佬对于单纯形解整数规划原理的绘声绘色的讲解 刚了半上午终于看懂了。 自己的理解: Max ∑i=1ncixis.t.∑j=1naijxj=bi,i=1,2......mxi>=0,i=1,2......mMax \ \sum_{i=1}^n c_ix_i\\ s.t. \sum_{j......原创 2019-04-05 11:25:43 · 557 阅读 · 0 评论 -
一类枚举算法
当需要求k元组数量,k元组(a1,a2…ak)满足元素均为正整数且a1 * a2 * a3 … ak <= n时, 枚举最小的数,然后枚举第二大的数。。。。然后依次,加剪枝,可以通过积分证明时间复杂度是O(n ^ [(k-1) / k]) 比如说: for(int a=1;1ll*a*a*a<=sum;a++) for(int b=a;1ll*b*b<=sum/a;b++)...原创 2018-10-22 12:06:40 · 174 阅读 · 0 评论 -
P1120 小木棍 [数据加强版]
题目描述 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过50。 现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度。 给出每段小木棍的长度,编程帮他找出原始木棍的最小可能长度。 枚举答案+搜索剪枝验证。 首先这个搜索十分有技术含量,将剩余木棍数作为参数带入,即可进行复杂的暴力回溯。 其次将木棍从大往小枚举,既确定了顺序减少了状态...原创 2018-09-02 22:55:16 · 202 阅读 · 0 评论 -
HDU 6407 Pop the Balloons
题意:Ex打气球,气球爆了会吹飞同行同列的气球,求引爆K次气球使所有气球消失的方案数。 行列:N<=12 , M<=20 。K <=20 各种分析,然后发现你只能打K行,每行每列只能打一个,那么就二进制枚举呗(N<=12) 然后一个状压DP就行了, 从左到右枚举列 , 如果这列除了这K行外还有气球存在,那么这列一定要引爆一个,否则可以不引爆,但是最多只能引爆一个。...原创 2018-08-15 18:34:52 · 497 阅读 · 0 评论 -
质因数分解
#include<cstdio> #include<vector> #define F first #define S second using namespace std; vector<pair<int,int> >prime; int main(){ long long n; scanf("%lld",&n); int ...原创 2017-10-23 13:35:06 · 483 阅读 · 0 评论 -
#6043. 「雅礼集训 2017 Day7」蛐蛐国的修墙方案
#6043. 「雅礼集训 2017 Day7」蛐蛐国的修墙方案内存限制:1024 MiB时间限制:2000 ms标准输入输出题目类型:传统评测方式:Special Judge上传者: 匿名提交提交记录统计讨论测试数据题目描述Do you wanna build a wall?在离跳蚤国很远的地方有一个蛐蛐国,最近蛐蛐国选出了一位新的领导人。这位领导人上任之后做的第一件事,就是在蛐蛐国和它的一个邻国原创 2018-01-18 20:44:10 · 501 阅读 · 0 评论 -
K-D Tree
就是用一些的方法把平面按点分成若干块,方便你剪枝(这思路真暴力)因为是剪枝暴力,复杂度是O(能过),可以拿来干超级多的事情CQOI2016 : K远点对#include<cstdio> #include<cstring> #include<cctype> #include<algorithm> #include<queue> #incl...原创 2018-03-15 14:35:42 · 313 阅读 · 0 评论 -
BZOJ4347 [POI2016] Nim z utrudnieniem
DescriptionA和B两个人玩游戏,一共有m颗石子,A把它们分成了n堆,每堆石子数分别为a[1],a[2],...,a[n],每轮可以选择一堆石子,取掉任意颗石子,但不能不取。谁先不能操作,谁就输了。在游戏开始前,B可以扔掉若干堆石子,但是必须保证扔掉的堆数是d的倍数,且不能扔掉所有石子。A先手,请问B有多少种扔的方式,使得B能够获胜。Input第一行包含两个正整数n,d(1<=n&l...原创 2018-03-15 14:41:07 · 212 阅读 · 0 评论 -
一种按点划分,对于随机数据表现良好的非常规二维数据结构(二维KD树)
二维KD-Tree是一种将平面用一种玄学的方式分割成多份的数据结构其操作功能强大1:找最近||最远点,利用矩形区域计算最大最小可能值来剪枝,随机数据期望复杂度O(logn) ,构造数据。。。。。。不过可以用来优化求min/max之类的DP,DP式中数据应该近乎随机。2.覆盖关键点的二维线段树问题:如 BZOJ4154——IPSC2015 Generating Synergy当问题可以转化为二维平面...原创 2018-03-15 16:13:27 · 277 阅读 · 0 评论 -
比后一场比赛水的比赛 Bilibili Summer Camp
Bilibili Summer Camp(summer.c/cpp/pas) 时间限制:1s【题目描述】夏天到了,Bilibili的夏日活动又开始了,但是JeremyGuo忘记了自己的bilibili账号和密码,他对自己的密码做了简单的处理然后存储在了自己的电脑上。现在她有一个数的集合{S},里面的数是[2, n]范围内的正整数,由于他的密码经过了他自己的加密,所以他现在需要找找到他定义的那个唯一...原创 2018-03-17 16:42:58 · 275 阅读 · 0 评论 -
状态分块优化转移
如题:题目描述白兔有一颗n个点以1为根的树。树上每个结点有一个权值val。 如果两个点a,b满足a是b的祖先且val[b]|val[a],则白兔可以直接从a跳到b。 现在白云想知道,对于每一个点k,白兔从1号点跳若干步到达k号点的方案数是多少? 两个方案不同为它们经过的点数不同或者某一步到达了不同的点。n<=100000 , val <= 10^18很容易想到n^2的做法,但是数据范围...原创 2018-06-24 17:14:46 · 335 阅读 · 1 评论 -
倍增求解贪心问题
对于某些贪心算法问题,对于某一个决策A,之后实行B决策一定最优,那么我们就可以说A下一步是B。如果题目要求最长步数之类但是有一些特殊限制,可以枚举第一个决策然后倍增跳步,O(logn)算出最长步数。如环上问题...原创 2018-06-25 17:41:16 · 237 阅读 · 0 评论 -
雅礼集训Day2T2 color(各种暴力优化) (O(1)RMQ的妙用)
题意:长度为n的数列A,m次询问,每次给出一个区间,求区间内不同数字的种数。还有一堆恶心的限制。1.强制在线(暴力优化神器莫队直接被ban)2.内存8M (并不是特别暴力的主席树和线段树被疯狂针对)3.1s,上述所有数字都是1e5级别的(暗示考点:卡常数(底层优化))。part1:卡内存怎么办?tsy大佬说过,当线段树被卡内存时就要分块。tsy大佬还说过,分块这么简单,不就是个优化的暴力吗?par...原创 2018-07-02 22:09:55 · 226 阅读 · 0 评论 -
雅礼集训Day2T3 操作operation
长度为n的01串,m次询问,每次问一个区间,你选择P个长度为K的子区间,每个子区间的数会被取反一次,被多个子区间覆盖会被取反多次,要将这个子区间变为全是0,求P的最小值,无解输出-1.n,m<=2000000这题神就在它利用了区间取反的性质,将01串相邻的位置异或起来,可以发现选择一个区间i,j时只有(i-1,i),(j,j+1)的之间的异或值会改变,要让区间内都为0即都一样,那么盯着异或为...原创 2018-07-02 22:23:27 · 370 阅读 · 0 评论 -
舞蹈链DLX算法
常数与希望编织的一缕奇迹 模板 DLX算法全称:Dancing Line X算法。 X算法的意思就是不知道是哪种搜索算法, 而Dancing Line的意思就是用Dancing Line优化X算法。 Dancing Line是使用在类二维矩阵中的双向循环链表群。 上面的话可以意会 Dancing Line 其实就是对于每个元素,和它左边的第一个,右边的第一个,上边的,下边的,都连上双向指针。 ...原创 2019-06-10 21:52:09 · 1614 阅读 · 0 评论