04 2018 档案

摘要:尺取法:顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后根据实际情况不断地推进区间左右端点以得出答案。之所以需要掌握这个技巧,是因为尺取法比直接暴力枚举区间效率高很多,尤其是数据量大的 使用尺取法时应清楚以下四点: 1、 什么情况下能使 阅读全文
posted @ 2018-04-29 20:12 MekakuCityActor 阅读(266) 评论(0) 推荐(0)
摘要:https://www.nowcoder.com/acm/contest/105/D 题目大意:【背景:我们可以把任意一个数x表示成若干不相同的Fibonacci数的和】给一个数X,分解成一组不相同斐波那契数,并且这些将这些下标表示为二进制串【即含有第I位的斐波那契数,则二进制串的I位为1】再化为十 阅读全文
posted @ 2018-04-28 21:33 MekakuCityActor 阅读(315) 评论(0) 推荐(0)
摘要:连通分量就是一个各个顶点能互相达到的图 无向图的连通分量选取任意一个顶点使用DFS遍历即可,遍历完所有顶点所需的DFS的次数就是连通分量的数量 有向图的强连通分量由于是有向的【从A点开始DFS能访问到B点,但不一定能从B返回A】,所以不能简单地认为遍历完顶点就行,这时只有选取正确的顶点顺序进行DFS 阅读全文
posted @ 2018-04-25 23:13 MekakuCityActor 阅读(1030) 评论(0) 推荐(0)
摘要:加法:字符型数组输入,然后转化反序存储到整型数组中,相加过程注意进位变量在结束时判断是否仍需要进位,同时注意特判0+0即可。 减法:和加法类似,把进位变量改为借位变量即可,不过需要使用较大数减去较小数。 乘法:乘法应该是最简单的吧,同样字符型数组输入,然后反序存储进整型数组中,利用错位相乘相加可得: 阅读全文
posted @ 2018-04-25 17:35 MekakuCityActor 阅读(517) 评论(0) 推荐(0)
摘要:https://www.luogu.org/blog/MekakuCityActor/ 阅读全文
posted @ 2018-04-24 20:00 MekakuCityActor 阅读(690) 评论(0) 推荐(0)
摘要:相比dij,spfa优点是可处理含负边不含负圈的最短路问题,缺点是算法复杂度不太好【貌似可以使用两种优化。LLL和SLF】 差分约束就是将一些不等式转化为图中的带权边,然后求解最短路或最长路的方法 洛谷P1645https://www.luogu.org/problemnew/show/P1645 阅读全文
posted @ 2018-04-23 17:45 MekakuCityActor 阅读(224) 评论(0) 推荐(0)
摘要:题目链接http://poj.org/problem?id=3169 题目大意: 一些牛按序号排成一条直线。 有两种要求,A和B距离不得超过X,还有一种是C和D距离不得少于Y,问可能的最大距离。如果没有输出-1,如果可以随便排输出-2,否则输出最大的距离。 首先关于差分约束:https://blog 阅读全文
posted @ 2018-04-23 17:38 MekakuCityActor 阅读(153) 评论(0) 推荐(0)
摘要:无论是string 还是 字符数组的字符串比较函数,返回的都是字典序的大小。如 1234 和 5 比较时就是1234的字典序小于5,要想比较字符串表示的数字的大小,需要自己写函数比较 阅读全文
posted @ 2018-04-22 19:39 MekakuCityActor 阅读(1439) 评论(0) 推荐(0)
摘要:有关拼凑正方形的问题一般都和欧几里德或者扩展欧几里德有关,至少一般会和最大公约数有关【我什么都没说过啊..我没有!我不是!】 https://acm.ecnu.edu.cn/contest/69/problem/A/ 题意:给一个正方形【边长为n】,若干长方形【长为x,宽为y】,问能否拼凑出一个大正 阅读全文
posted @ 2018-04-22 09:35 MekakuCityActor 阅读(354) 评论(0) 推荐(0)
摘要:逆元(inv) 什么是逆元 当求解公式:(a/b)%m 时,因b可能会过大,会出现爆精度的情况,所以需变除法为乘法: 设c是b的逆元,则有b*c≡1(mod m); 则(a/b)%m = (a/b)*1%m = (a/b)*b*c%m = a*c(mod m); 即a/b的模等于a*b的逆元的模; 阅读全文
posted @ 2018-04-21 09:54 MekakuCityActor 阅读(240) 评论(0) 推荐(0)
摘要:A/B关于C取模时,A和B很大时(如组合数,那就需要中间取模了,而除法不能直接取模),这时如果C是素数时,可以使用费马小定理:A * mypow(B,C-2) 而B不是很大时,可以利用先乘后除来进行解决 ,如 a=b*x+c 则 a%b==c 而 a*k=b*x*k+c*k 取模之后 (a*k)%( 阅读全文
posted @ 2018-04-21 09:44 MekakuCityActor 阅读(616) 评论(0) 推荐(0)
摘要:dfs由于每次都要面临若干的选择,所以时常会有一个变量用来标记不同时空的状态,这种变量一般是通过 【变量标记 】 ;dfs(状态1);【变量标记解除】的方式进行的 这里的标记变量其实就是一个时间戳,是一种很基本的时间戳,用于分离不同时空 基本的时间戳用来分离不同时空的状态,而时间戳也可以用于相同时空 阅读全文
posted @ 2018-04-20 12:06 MekakuCityActor 阅读(160) 评论(0) 推荐(0)
摘要:https://www.luogu.org/problemnew/show/P1338 【题目大意:从1到n的连续自然数,求其逆序对数为m的一个字母序最小的排列。】 最开始的思路是想从逆序对数入手,然后按顺序求出一个个的排列然后找逆序对数==m的那种排列,后来由于我是个蒟蒻...求逆序对数对我来说似 阅读全文
posted @ 2018-04-19 18:55 MekakuCityActor 阅读(191) 评论(0) 推荐(0)
摘要:求解二元一次方程可以通过使用扩展欧几里德定理解决。 而求解二元二次方程则可以通过变量转化利用枚举的方式进行解决。如(b-a+1)*(a+b)=4000,可以将等式左端一个因子化为另一变量T,然后另一因子转化为含 T 和另一变量的式子,通过枚举 T ,利用另一因子必为整数的前提,来求解符合要求的T,也 阅读全文
posted @ 2018-04-18 22:51 MekakuCityActor 阅读(239) 评论(0) 推荐(0)
摘要:求单一数字的约数个数可以直接使用唯一分解定理(约数个数=(1+e1)*(1+e2)*...(1+en)) 而求一个区间的数字的约数个数和就不能使用唯一分解定理了进行遍历求值了,尤其是区间范围很大的时候,很容易就TLE了 洛谷P1403https://www.luogu.org/problemnew/ 阅读全文
posted @ 2018-04-18 22:17 MekakuCityActor 阅读(198) 评论(0) 推荐(0)
摘要:增广路的核心就是引入了反向边,使在进行道路探索选择的时候增加了类似于退路的东西【有一点dp的味道??】 具体操作就是:1、首先使用结构体以及数组链表next[ MAXN ]进行边信息的存储 2、【核心】在存储正向边时,将正向边结构体数组相邻编号的元素存储反向边 【具体操作:如正向边为AA[0],则对 阅读全文
posted @ 2018-04-17 17:37 MekakuCityActor 阅读(245) 评论(0) 推荐(0)
摘要:1 #include<cstdio> 2 #include<cstring> 3 #include<cstdlib> 4 #include<iostream> 5 #include<algorithm> 6 #define N 10000 7 using namespace std; 8 int x 阅读全文
posted @ 2018-04-16 12:34 MekakuCityActor 阅读(112) 评论(0) 推荐(0)
摘要:Twilightgod CUST http://blog.csdn.net/twilightgodAekdycoin FZU http://hi.baidu.com/aekdycoinForeverlin HNU http://hi.baidu.com/forverlin1204/blogMatri 阅读全文
posted @ 2018-04-12 21:05 MekakuCityActor 阅读(272) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/hacker00011000/article/details/52176100 阅读全文
posted @ 2018-04-11 11:04 MekakuCityActor 阅读(216) 评论(0) 推荐(0)
摘要:通过二分思想,将对称轴(也就是中心点)作为基准数,进行快排,平均复杂度为nlogn 阅读全文
posted @ 2018-04-11 10:29 MekakuCityActor 阅读(211) 评论(0) 推荐(0)
摘要:首先循环需要是while(l<=r)然后对求最大值和最小值时都要使 l = mid+1 r = mid-1,只不过求最大值和求最小值时两个等式的条件恰好相反 最后最关键的一步就是在循环外面检验l是否符合要求,不符合的话加一或减一 https://www.luogu.org/problemnew/sh 阅读全文
posted @ 2018-04-10 20:01 MekakuCityActor 阅读(852) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/freinds/p/6388992.html 首先要知道中国剩余定理是用来求 一个数 X 使 X%a=t1 && X%b=t2 && X%c=t3 具体操作是1)先求出 y3 * lcm(a,b)%c=1 y2 * lcm(a,c)%b=1 y1 * 阅读全文
posted @ 2018-04-08 21:14 MekakuCityActor 阅读(294) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/vsooda/article/details/7975485 阅读全文
posted @ 2018-04-07 11:16 MekakuCityActor 阅读(191) 评论(0) 推荐(0)
摘要:https://www.nowcoder.com/acm/contest/93#question 其中很水的题:B题矩阵 等差数列 D题迷宫 简单搜索dfs F题集合 就是求二次函数极值 M题巨水..不说了... E题阶乘 求末尾有几个0,也就是1~n这n个数共有多少个5,因为只有5和2能拼出10, 阅读全文
posted @ 2018-04-05 23:37 MekakuCityActor 阅读(167) 评论(0) 推荐(0)
摘要:https://vjudge.net/contest/219676#problem/D 题意:让你找出两个素数相加等于n的对数 T (≤ 300),4 ≤ n ≤ 107 (本题典型的线性筛素数,只要注意定义时使用bool而不使用int,并且在合成n时 使用if(isprime[n-prime[i] 阅读全文
posted @ 2018-04-03 20:33 MekakuCityActor 阅读(306) 评论(0) 推荐(0)
摘要:C 库函数 double fmod(double x, double y) 返回 x 除以 y 的余数。 所以fmod(x,1)得到的就是小数部分的值(如fmod(3.35,1)==0.35) https://vjudge.net/contest/219676#problem/C 题意:给你一个数n 阅读全文
posted @ 2018-04-02 22:14 MekakuCityActor 阅读(225) 评论(0) 推荐(0)
摘要:扩展欧几里德定理可以用来求解 形如ax+by=c;的不定方程问题,其中求出的一组x和y是该方程的一组特解,通解公式为 x=x0+k*b/gcd(a,b) y=y0-k*b/gcd(a,b);,其中k为任意整数 POJ1061:青蛙的约会http://poj.org/problem?id=1061 1 阅读全文
posted @ 2018-04-02 18:06 MekakuCityActor 阅读(165) 评论(0) 推荐(0)
摘要:由于素数的欧拉函数值=该数-1,而合数至少要有两个个约数,即任何一个合数的欧拉函数值都会低于比他大的素数的欧拉函数值且不大于比他小的素数的欧拉函数值 所以给一个欧拉函数值a,求欧拉函数值不小于a的数N的最小值,就是在求欧拉函数值不小于a的最小素数 https://vjudge.net/contest 阅读全文
posted @ 2018-04-01 22:40 MekakuCityActor 阅读(424) 评论(0) 推荐(0)