算法
吾说
计算机科学与技术专业在读学生
展开
-
dfs序的应用及线段树
http://www.cnblogs.com/stxy-ferryman/p/7741970.html转载 2019-05-21 23:50:54 · 401 阅读 · 0 评论 -
莫队2
洛谷4137题目描述有一个长度为n的数组{a1,a2,…,an}。m次询问,每次询问一个区间内最小没有出现过的自然数。输入输出格式输入格式: 第一行n,m。第二行为n个数。从第三行开始,每行一个询问l,r。 输出格式: 一行一个数,表示每个询问的答案。 输入输出样例输入样例#1: 复制5 52 1 0 2 13 32 32 ...原创 2018-08-09 10:51:59 · 421 阅读 · 0 评论 -
小奇画画
5725: 小奇画画 时间限制: 1 Sec 内存限制: 128 MB ...原创 2018-07-27 20:20:13 · 146 阅读 · 2 评论 -
莫队算法
莫队算法主要解决离线 区间 查询数量巨大,查询序列和查询数均为10的5次方左右,但要保证l到l+1和l到l-1,r也同理对结果的影响要能O(1)的计算出来。据说适用于大多数的大数量的区间的查询题(线段树不熟练的推荐学习此算法)数组一般从1开始读入,左指针L=1,又指针R=0;莫队算法的关键在于(1)块的大小,下面那道题块的大小900就过不了,1000就过了,设给定序列长度为n一般块的大...原创 2018-07-20 13:42:54 · 106 阅读 · 0 评论 -
2018 Multi-University Training Contest 1 Distinct Values
Distinct Values Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...原创 2018-07-25 16:29:05 · 122 阅读 · 0 评论 -
哈理工oj1187
求方程的解Time Limit: 1000 MSMemory Limit: 65535 KTotal Submit: 317(121 users)Total Accepted: 140(112 users)Rating: Special Judge: NoDescription给一个方程f(x) = a^x + b^x - c^x = 0, 对于给定的[e, f](e <= f)范围内的数,...原创 2018-03-21 11:01:06 · 294 阅读 · 0 评论 -
全排列函数应用
题目描述: 大家知道,给出正整数n,则1到n这n个数可以构成n!种排列,把这些排列按照从小到大的顺序(字典顺序)列出,如n=3时,列出1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 2 1六个排列。 任务描述: 给出某个排列,求出这个排列的下k个排列,如果遇到最后一个排列,则下1排列为第1个排列,即排列1 2 3…n。 比如:n = 3,k=2 给出排列2 3 1,则它的下1个排列...原创 2018-03-12 22:32:35 · 334 阅读 · 0 评论 -
高效素数查找
转载链接:http://blog.csdn.net/code_pang/article/details/7880245?from=singlemessage孪生素数: 所谓孪生素数指的是间隔为 2 的相邻素数,它们之间的距离已经近得不能再近了。若n≥6且n-1和n+1为孪生素数,那么n一定是6的倍数。证明:∵ n-1和n+1是素数 ┈┈┈┈┈ ①∴ n-1和n+1是奇数∴ n是偶数,即n是2的倍数...转载 2018-03-12 22:12:49 · 303 阅读 · 0 评论 -
数独-poj2676-dfs(神(深)搜)
SudokuTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 21955 Accepted: 10412 Special JudgeDescriptionSudoku is a very simple task. A square table with 9 rows and 9 columns is divided to 9 sma...原创 2018-03-12 22:03:31 · 167 阅读 · 0 评论 -
数论总结(持续更新)
一.在n*m的方格镇中,任意两点连线中穿过的点的个数(设第一个点(x1,y1)第二个点(x2,y2)):gcd(abs(x1-x2),abs(y1-y2))-1;比如(1,3)(2,4)穿过点的个数为gcd(1,1)-1=0个;有的题不能遍历两个点,只能遍历一个点否则复杂度太高,这里因为线段是能平移的,我们把第一个点变为(0,0);在乘以这个长度的线段在方格中的可以移动的点的数量就可以了。题目描述...原创 2018-03-17 21:30:00 · 805 阅读 · 0 评论 -
牛客多校 gpa 01分数规划
改写等式,二分查找答案以下为证明方法,转自简书链接:https://www.jianshu.com/p/4bc6037fe8e1数学分析中一个很重要的方法就是分析目标式,这样我们来看目标式。 R=sigma(a[i]*x[i])/sigma(b[i]*x[i]) 我们来分析一下他有什么性质可以给我们使用。 我们先定义一个函数F(L):=sigma(a[i]*x[i])-L*sigma(b[...原创 2018-08-05 15:54:45 · 189 阅读 · 0 评论 -
【ACM-ICPC 2018 南京赛区网络预赛】 J. Sum (离线打表,分段)
题意:自己场上提议都没理解,怪不得没做出来,这题是指将一个数分解成两个数的乘积,但要求这两个数进行因式分解后不能有带平方的项。例如12不能分解成2^2*3或者1*12,因为12不是square-free数,因为12会分解成2*2*3,出现2^2项代码:#include<stdio.h>int f(int n){int ans=0; for(int i=2;i*...原创 2018-09-05 14:20:27 · 966 阅读 · 0 评论 -
poj1698线段树区间修改区间查询
Just a HookTime Limit: 4000/2000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 49371Accepted Submission(s): 23351Problem DescriptionIn the game of DotA...原创 2019-05-19 16:40:23 · 224 阅读 · 0 评论 -
区间移位蓝桥杯
时间限制: 1Sec 内存限制: 128MB 提交: 24 解决: 6题目描述数轴上有n个闭区间:D1,...,Dn。其中区间Di用一对整数[ai, bi]来描述,满足ai < bi。已知这些区间的长度之和至少有10000。所以,通过适当的移动这些区间,你总可以使得他们的“并”覆盖[0, 10000]——也就是说[0, 10000]这个区间内的每一个点都落于至少一个区间内。你...原创 2019-05-08 20:43:21 · 1797 阅读 · 0 评论 -
Hash的应用
Hash其实对字符串的查找比较有很好的应用,例如将一个字符串变成一个数字,就像将“12345”转成十进制的12345只不过这里不是每一为乘十而是乘以一个素数,例如97或者9973等,但是成大了以后会爆long long可以根据数据的大小自行确定基数,这里每一个字符串就被唯一表示为一个数字,重复的概率几乎没有,可以快速匹配字符串,这里的基数和如果需要mod的话,这两个值必须都是素数,但具体选几不...原创 2019-03-12 16:44:15 · 115 阅读 · 0 评论 -
lcs(最长公共子序列)(蓝桥杯密码脱落16年)
lcs模板int a[1001][1001];//dp数组//最长公共子序列,这里模板是将左边字符串竖着放,右边字符串横着放,i代表竖着的编号,j代表横着的标号int lcs(string s,string ss){ int lens=s.length(); int lenss=ss.length(); for(int i=0; i<lens; i++)/...原创 2019-03-19 15:48:59 · 207 阅读 · 0 评论 -
Infinite Inversions CodeForces - 540E (树状数组+离散化)
http://codeforces.com/problemset/problem/540/E(原题所在地)题目大意,在一串无穷的1,2,3…n的串值,有k次操作,每次操作给出两个数a,b,即把坐标a和坐标b的值交换,问最后有多少个逆序对,0<=k<=105,a和b在int范围(10^9)内0<=k<=105,a和b在int范围内题目分析:如果a,b的范围是10...原创 2019-03-13 22:03:19 · 181 阅读 · 0 评论 -
总结
1.dfs和bfs的总结dfs: 关键点: 1.什么时候用?在矩阵中或图或其他类似的存储结构中要找任意到一条可行解 或问是否能有解或指定一条路线看这个图中能否找到这样一条路(这个是最明显的不能用bfs的,因为bfs时点旁边的可行点在第一轮就被标记走过了,如果后来又需要这个第一轮已经被标记过的某个点则因为标记数组的原因无法匹配路线中的一个点,造成无法找到路线,例子:剑指offe...原创 2019-02-22 15:42:41 · 98 阅读 · 0 评论 -
Codeforces 758C Unfair Poll(有循环节的处理方法,找到循环节处理成pair)
Codeforces 758C Unfair Poll 部分转自https://www.cnblogs.com/TreeDream/p/6322699.html题目链接:http://codeforces.com/contest/758/problem/C题意:不公平的点名,给定一个教室,然后老师按照一定规则点名,行数从1点到n,再回到 1,列数一直从1到m 。求点名最多的学生的次数,...原创 2019-01-15 22:17:06 · 132 阅读 · 0 评论 -
kmp模板
//代码来自某博客,不记得了,博主可以留言,我即刻加上,这里只作为一个例子#include<iostream>#include<cstring>#include<algorithm>using namespace std;#define N 100010char s[N * 10], p[N];int nextval[N];int lens, ...原创 2019-01-11 23:22:07 · 80 阅读 · 0 评论 -
hdu3294+Manacher算法
Girls' researchTime Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 1027 Accepted Submi...原创 2018-11-11 14:03:33 · 234 阅读 · 0 评论 -
二维树状数组模板+POJ2155(矩阵)
模板:void add(int x,int y,int val){ while(y<=n) { int tmp=x; while(tmp<=n) { c[tmp][y]+=val; tmp+=tmp&-tmp; } y+=y&-...原创 2018-03-01 12:55:09 · 176 阅读 · 0 评论 -
poj1840 等式成立组合问题(需要哈希~)
EqsTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 17323 Accepted: 8503DescriptionConsider equations having the following form: a1x13+ a2x23+ a3x33+ a4x43+ a5x53=0 The coefficients are given...原创 2018-03-08 14:32:32 · 209 阅读 · 0 评论 -
hdu3336-kmp应用其实也也可以不用
Count the stringTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 12333 Accepted Submission(s): 5691Problem DescriptionIt is well known that Ae...原创 2018-02-05 21:48:23 · 141 阅读 · 0 评论 -
hdu3336-kmp应用其实也也可以不用
Count the stringTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 12333 Accepted Submission(s): 5691Problem DescriptionIt is we原创 2018-02-05 21:46:01 · 188 阅读 · 0 评论 -
open judge盒子与小球之三dp-史上最详细的解释n^2实现(n^3会超时)
原创 2018-02-09 15:17:15 · 766 阅读 · 0 评论 -
dfs hdu1241
Problem DescriptionThe GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvComp works with one large rectangular region of land at a time, and creates a g原创 2018-01-19 14:51:49 · 144 阅读 · 0 评论 -
FZUProblem 2092 收集水晶
#include#include#include#includeusing namespace std;char a[19][19];typedef pair pii;int value[12][12][202];int dp[12][12][12][12][202];//记录状态,bfs相当于dp的升级版,确立状态很重要;int n,m;struct node{ i原创 2018-01-17 21:07:09 · 126 阅读 · 0 评论 -
字典树vskmp
本篇博客旨在巩固基础代码学习,不足之处还望广大大牛批评指出不胜感激一字典树字典树目的在于可以节省大量空间存储单词或其他字符串,并且可以快速查找。poj3630题意:给出若干字符串,判断某个字符串是否是其他字符串的前缀,有这样的字符串输出“NO”,否则输出“YES”。思路:根据字符串输的顺序不同需要考虑第一种:该字符串是否是上面输入过的字符串的前缀原创 2018-01-14 13:19:32 · 486 阅读 · 0 评论 -
D - 最大数maxnumber HYSBZ - 1012 (巧妙暴力,单调栈,据说树状数组线段树都能做~这俩有点大材小用了)
Description 现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。2、 插入操作。语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取模,将所得答案插入到数列的末尾。限制:n是非负整数并且在长...原创 2018-02-26 19:59:21 · 177 阅读 · 1 评论 -
B - 越狱 HYSBZ - 1008 (矩阵快速幂)
快速幂模板long long PM(long long a, long long b, long long c)//计算a^b%c,返回结果{ long long ans = 1; a = a%c; while(b>0) { if(b % 2 == 1) ans = (ans * a) % c; ...原创 2018-02-26 19:33:57 · 154 阅读 · 0 评论 -
poj2299-树状数组应用实例
In this problem, you have to analyze a particular sorting algorithm. The algorithm processes a sequence of n distinct integers by swapping two adjacent sequence elements until the sequence is sorted i...原创 2018-02-11 22:32:57 · 247 阅读 · 0 评论 -
母函数
#include#includeusing namespace std;int c1[6000];int c2[6000];int main(){ int n,m,k; while(~scanf("%d%d%d",&n,&m,&k)) { memset(c1,0,sizeof(c1)); memset(c2,原创 2018-02-06 11:37:37 · 98 阅读 · 0 评论 -
cf505B-并查集应用
Mr. Kitayuta has just bought an undirected graph consisting of n vertices and medges. The vertices of the graph are numbered from 1 to n. Each edge, namely edge i, has a color ci, connecting vertex ai...原创 2018-02-11 12:55:29 · 250 阅读 · 0 评论 -
cf-659D 好题
本来要模拟一下,或者用一下叉积,结果。。看了集训队其他大神的解题分享,感叹果然好思维,我怎么没想到,cf题果然有趣题目大意:在一个只有四个正方向移动(类似向量)从一个点划一圈回到原点这一路划出的范围内,求出指向该区域内的向量的个数。解题思路:此题无需判断叉积,可经过以下步骤推出。题意给出只存在正方向,那么所有的内角只存在270°(危险)与90°(安全)两种情况。多边形内角和为180原创 2018-01-29 21:06:41 · 550 阅读 · 0 评论 -
ACM计算几何-叉积应用
版权声明:本文为博主原创文章,转载请注明出处。 转载地址:http://blog.csdn.net/danliwoo/article/details/49836983目录(?)[-]定义性质应用判断点与直线的相对位置判断线段与直线的位置关系判断直线与直线的位置关系判断线段与线段的位置关系判断多边形是否是凸包判断点是否在凸多边形内转载 2018-01-29 20:29:31 · 413 阅读 · 0 评论 -
hdu3342,拓扑排序模板题
Legal or NotTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 9655 Accepted Submission(s): 4489Problem DescriptionACM-DIY is a large QQ group w...原创 2018-02-05 22:08:52 · 540 阅读 · 0 评论 -
cf 82A
题意:有一个数列,类似队列,给你一个编号输出是哪个人(总共5个人)1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24..............1 2 3 4 5 1 1 2 2 3 3 4 4 5 5 1原创 2018-01-23 21:22:01 · 186 阅读 · 0 评论