暑假集训2018
文章平均质量分 66
算法技巧
ZCY19990813
不断丰富自己,变得有底气!
展开
-
2018 暑假训练算法索引
容斥 mobius反演 https://blog.csdn.net/ZCY19990813/article/details/81065084vector详解 https://blog.csdn.net/ZCY19990813/article/details/81070599孪生素数...原创 2018-08-07 21:05:54 · 284 阅读 · 3 评论 -
string 用法
最开始接触string是因为它可以很方便的查找是不是字串 下面一一讲解1.定义:string s; cin>>s; 或者string s="abcdef";2.基本用法 长度 s.size(); 把s2复制到s1中strcpy(s1,s2); 连接2个字符串s1=s1+s2; 比较字符串 直...原创 2018-08-10 11:12:54 · 590 阅读 · 0 评论 -
最小树形图——朱刘算法
首先问一个问题 最小生成树是用来解决有向图还是无向图问题的最小生成树详解 见 https://blog.csdn.net/ZCY19990813/article/details/81503525。。。。要是你回答无向图的话 可以往下面看啦最小树形图是用来解决有向图的最小生成树问题(unidirectional 单向的)性质:最小树形图基于贪心和缩点的思想。正在看这...原创 2018-08-08 10:35:28 · 178 阅读 · 0 评论 -
最小生成树详解
百度搜索爱国呐博客园最小生成树概念:一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。最小生成树可以用kruskal(克鲁斯卡尔)算法或prim(普里姆)算法求出。最小生成树其实是最小权重生成树的简称。prim:概念:普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的...转载 2018-08-08 10:31:47 · 493 阅读 · 0 评论 -
8 9 个人赛(第三题map)
一:Allen wants to enter a fan zone that occupies a round square and has n entrances.There already is a queue of ai people in front of the i-th entrance. Each entrance allows one person from its queue...原创 2018-08-10 09:45:56 · 475 阅读 · 0 评论 -
划分树 详解
转自 https://blog.csdn.net/Akatsuki__Itachi/article/details/80030929看了一些博客,感觉有些博客对建树写的挺好,但是对于查询区间却一笔带过。在看懂了之后决定自己写一篇,加深自己的理解,也希望对正在学习划分树的人能够有所帮助。如有错误,敬请大佬指出。进入正题:有这样一类题目,求的是区间内的第k大数。划分树的定义就是对整...转载 2018-08-07 15:09:34 · 507 阅读 · 0 评论 -
8 4 第三场团队赛
Natasha is going to fly to Mars. She needs to build a rocket, which consists of several stages in some order. Each of the stages is defined by a lowercase Latin letter. This way, the rocket can be des...原创 2018-08-04 21:18:43 · 184 阅读 · 0 评论 -
8 3 个人赛
cOne day Alex was creating a contest about his friends, but accidentally deleted it. Fortunately, all the problems were saved, but now he needs to find them among other problems.But there are too ...原创 2018-08-04 11:07:06 · 290 阅读 · 0 评论 -
数位dp 例题
不要62Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 56059 Accepted Submission(s): 21685Problem De...原创 2018-08-03 10:14:06 · 250 阅读 · 0 评论 -
LCA (最近公共祖先)详解 模板
LCA 最近公共祖先 此博客主要介绍 Tajan(现在只了解这个算法)需要用到很多铺垫 比如前向星了 链式前向星了 并查集了 下面我们一一来介绍一下首先看一下前向星 前向星是一种数据结构,以储存边的方式来存储图 用到两个数组 len[i]是来表示以i为起点边的个数 head[i]是表示i点第一条边的下标用前向星时要先按照起点大小排序 会增加很多复杂度 所以引申了...原创 2018-08-02 14:23:09 · 414 阅读 · 0 评论 -
8 1 个人赛 to me
EEverybody in Russia uses Gregorian calendar. In this calendar there are 31 days in January, 28 or 29 days in February (depending on whether the year is leap or not), 31 days in March, 30 days in Ap...原创 2018-08-02 13:22:19 · 191 阅读 · 0 评论 -
树状数组 例题
具体模板详见 https://blog.csdn.net/zcy19990813/article/details/81297476Color the ballN个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电动车从气球a开始到气球b依次给每个气球涂一次颜色。但是N次以后lele已经忘记了第I个气球已...原创 2018-07-31 13:23:56 · 384 阅读 · 0 评论 -
7 30 个人赛
CA sequence a1,a2,…,an is called good if, for each element ai, there exists an element aj (i≠j) such that ai+aj is a power of two (that is, 2d for some non-negative integer d).For example, the fol...原创 2018-07-31 13:23:33 · 218 阅读 · 0 评论 -
树状数组模板+逆序对
lowbit函数顾名思义,lowbit这个函数的功能就是求某一个数的二进制表示中最低的一位1,举个例子,x = 6,它的二进制为110,那么lowbit(x)就返回2,因为最后一位1表示2。求lowbit的两种方法int lowbit(x) { return x - (x & (x - 1));}int lowbit(x) { retu...原创 2018-07-31 11:04:11 · 302 阅读 · 0 评论 -
7 28 第二次团队赛 致队友
按照ac题的顺序H. Making FriendsAli is trying to make his friends happier by matching them into pairs together. In the beginning, Ali has 2 × n friends standing in a row and numbered from 1 to 2 × n. Eac...原创 2018-07-28 19:48:22 · 335 阅读 · 1 评论 -
概率dp 例题
Discovering GoldYou are in a cave, a long cave! The cave can be represented by a 1 x N grid. Each cell of the cave can contain any amount of gold.Initially you are in position 1. Now each turn you...原创 2018-07-28 11:32:38 · 605 阅读 · 0 评论 -
深搜dfs 广搜bfs
深搜dfs找多个解或步数已知看一个例题:判断有几个最大水娃10 12W........WW..WWW.....WWW....WW...WW..........WW..........W....W......W...W.W.....WW.W.W.W.....W..W.W......W...W.......W.输出 3附上已ac代码#include...原创 2018-07-27 14:50:22 · 262 阅读 · 0 评论 -
7 19 个人赛 to me ( 字符串因子逆序 删k次字符串)
A string s of length ncan be encrypted by the following algorithm:iterate over all divisors of n in decreasing order (i.e. from n to 1),for each divisor d, reverse the substring s[1…d] (i.e. the s...原创 2018-07-19 21:11:07 · 242 阅读 · 0 评论 -
7 26 个人比赛 to me
CodeForces - 1003C The heat during the last few days has been really intense. Scientists from all over the Berland study how the temperatures and weather change, and they claim that this summer is a...原创 2018-07-27 09:28:32 · 261 阅读 · 0 评论 -
求解方程( 迭代法 牛顿迭代法 二分法)
迭代的意思是反反复复地执行某一步骤、程序或者事件,在数学中用的比较常见。以上代码转自https://blog.csdn.net/pengwill97/article/details/77200372https://blog.csdn.net/akatsuki__itachi/article/details/80719686首先,迭代法解方程的实质是按照下列步骤构造一个序列x0,x1,...转载 2018-07-26 15:16:55 · 1739 阅读 · 0 评论 -
最少拦截系统
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹.怎么办呢?多搞几套系统呗!你说说倒蛮容易,成本呢?成本是个大问题啊.所以俺就到这里来求救了,请帮助计算一下最少需要多少套拦截系统....原创 2018-07-24 16:22:03 · 238 阅读 · 0 评论 -
(LIS LCS 例题)Max Sum Advanced Fruits Super Jumping! Jumping! Jumping!
Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14.InputThe ...原创 2018-07-24 21:49:04 · 266 阅读 · 0 评论 -
几种数学公式(环排列 母函数 唯一分解定理 卡特兰数 默慈金数 贝尔数 那罗延数)
一:环排列把一个m个元素的环在m个不同的位置拆开记得到m个不同的线排列。由于n个不同元素中任取m个元素的排列方法为P(n,m)种,所以n个不同元素中任取m个元素的环排列方法有P(n,m)/m种。(p是排列组合中的A)特别的,n个不同元素的环排列方法有P(n,n)/n=(n-1)!种。二:母函数(用来解决:有N种重量的物品,每种物品有M个(1-无穷),求可以组合出来的重量的个数和该重量的方...原创 2018-07-24 15:05:23 · 1310 阅读 · 2 评论 -
map set 详解
首先看 set头文件#include <set>set<int> s;s.begin() ,返回set容器的第一个元素s.end() ,返回set容器的最后一个元素s.clear() ,删除set容器中的所有的元素s.empty() ,判断set容器是否为空s.max_size() ,返回se...原创 2018-07-24 15:04:58 · 355 阅读 · 2 评论 -
算法录 之 二分和三分
二分: 二分不是二分,是二分。就是一分为二的二分。 先来一个例子: 现在有一个递增的序列 a(1), a(2)...a(n),然后让你查找 x 在不在这个序列里面? 显然最简单的做法就是一个for循环,从1到n,看看有没和x相等的。。。 这样确实不错,但是太慢了。。。需要n次才能找到。有没更好的做法呢? 有(要是没有的话我说这个干什么...原创 2018-07-23 21:28:00 · 377 阅读 · 0 评论 -
LIS 最长上升子序列 LCS 最长公共子序列 模板
首先介绍一下什么是最长上升子序列 举一个例子 2 1 5 3 6 4 8 9 最长上身子序列是 1 3 4 8 9(不连续)#include <iostream>#include <algorithm>using namespace std;int a[1001],ans[1001],len;int main(){ int n,T;...原创 2018-07-23 20:33:20 · 169 阅读 · 0 评论 -
7 21 第一次团队赛——————写给队友
希望队友认真看完 这可是我花了一晚上的时间写的呢按照出题的顺序 写的A题:给出两个数 n, m。求 和 。计算公式:Input输入数据有多组(数据组数不超过 250),到 EOF 结束。对于每组数据,输入两个用空格隔开的整数 n, m (0 <= m <= n <= 20) 。Output对于每组数据输出一行, 和 ,用空格隔开。...原创 2018-07-21 19:35:10 · 317 阅读 · 3 评论 -
离散化+unique()+二分查找
离散化引自百度百科离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。例如:原数据:1,999,100000,15;处理后:1,3,4,2;原数据:{100,200},{20,50000},{1,400};处理后:{3,4},{2,6},{1,5};离散化是程序设计中一个常用的技巧,它可...转载 2018-07-21 09:39:00 · 1105 阅读 · 0 评论 -
基础数论(逆元,中国剩余定理)(模板~)
一 逆元1.逆元的含义:模n意义下,1个数a如果有逆元x,那么除以a相当于乘以x。2 方法(1)费马小定理在模为素数p的情况下,有费马小定理a^(p-1)=1(mod p)那么a^(p-2)=1/a(mod p)(2)扩展欧几里得算法 a∗x+b∗y=gcd(a,b)ll exgcd(ll a,ll b,ll &x,ll &y){ ...原创 2018-07-20 11:33:21 · 325 阅读 · 0 评论 -
背包详解+模板
背包详解请看 https://blog.csdn.net/Septembre_/article/details/81111812一:01背包特点:每种物品只有一件,可以选择放或不放dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+v[i]);//状态转移方程这个方程非常重要,基本上 所有跟背包相关的问题的方程都是由它衍生出来的。所以有必要详细讲解...原创 2018-07-19 11:34:59 · 618 阅读 · 0 评论 -
Coins (多重背包)模板题
模板请看上一篇博客Whuacmers use coins.They have coins of value A1,A2,A3...An Silverland dollar. One day Hibix opened purse and found there were some coins. He decided to buy a very nice watch in a nearby sho...原创 2018-07-19 15:27:48 · 920 阅读 · 0 评论 -
子序列(尺取入门)
大神的图片 帮助理解这个题的过程经典例题:给出了n个正整数序列(10<n<100,000),它们均小于或等于10000,正整数s(s<100 000 000)。编写一个程序来查找序列的连续元素的子序列的最小长度,其总和大于或等于S。输入第一行是测试用例的数量。对于每个测试用例,程序必须从第一行读取由间隔分隔的数字n和s。序列的数目在测试用例的第二行中给出,由间隔分隔。输入将以...原创 2018-07-17 17:51:05 · 845 阅读 · 0 评论 -
与7 无关的数(前缀和)or Color the ball
一个正整数,如果它能被7整除,或者它的十进制表示法中某个位数上的数字为7,则称其为与7相关的数。求所有小于等于N的与7无关的正整数的平方和。例如:N = 8,<= 8与7无关的数包括:1 2 3 4 5 6 8,平方和为:155。Input第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 1000)第2 - T + 1行:每行1个数N。(1 &...原创 2018-07-17 17:51:38 · 264 阅读 · 0 评论 -
最短的包含字符串 (尺取法)
给出一个字符串,求该字符串的一个子串s,s包含A-Z中的全部字母,并且s是所有符合条件的子串中最短的,输出s的长度。如果给出的字符串中并不包括A-Z中的全部字母,则输出No Solution。Input第1行,1个字符串。字符串的长度 <= 100000。Output输出包含A-Z的最短子串s的长度。如果没有符合条件的子串,则输出No Solution。Sample In...原创 2018-07-17 20:32:16 · 701 阅读 · 0 评论 -
一只小蜜蜂
有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。其中,蜂房的结构如下所示。Input输入数据的第一行是一个整数N,表示测试实例的个数,然后是N 行数据,每行包含两个整数a和b(0<a<b<50)。Output对于每个测试实例,请输出蜜蜂从蜂房a爬到蜂房b的可能路线数,每个实例的输出占一行。Sample ...原创 2018-07-18 10:38:38 · 209 阅读 · 0 评论 -
阿牛的EOF牛肉串
今年的ACM暑期集训队一共有18人,分为6支队伍。其中有一个叫做EOF的队伍,由04级的阿牛、XC以及05级的COY组成。在共同的集训生活中,大家建立了深厚的友谊,阿牛准备做点什么来纪念这段激情燃烧的岁月,想了一想,阿牛从家里拿来了一块上等的牛肉干,准备在上面刻下一个长度为n的只由"E" "O" "F"三种字符组成的字符串(可以只有其中一种或两种字符,但绝对不能有其他字符),阿牛同时禁止在串中出现...原创 2018-07-18 11:25:58 · 218 阅读 · 0 评论 -
折线分割平面
我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。Input输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0<n<=10000),表示折线的数量。 Output对于每个测试实例,请输出平面的最...原创 2018-07-18 17:26:49 · 215 阅读 · 0 评论 -
不容易系列之(4)——考新郎
国庆期间,省城HZ刚刚举行了一场盛大的集体婚礼,为了使婚礼进行的丰富一些,司仪临时想出了有一个有意思的节目,叫做"考新郎",具体的操作是这样的:首先,给每位新娘打扮得几乎一模一样,并盖上大大的红盖头随机坐成一排;然后,让各位新郎寻找自己的新娘.每人只准找一个,并且不允许多人找一个.最后,揭开盖头,如果找错了对象就要当众跪搓衣板...看来做新郎也不是容易的事情...假设一共有N对新婚夫妇,...原创 2018-07-18 14:28:38 · 285 阅读 · 0 评论 -
不容易系列之(3)—— LELE的RPG难题
人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Cole终于知道了原因,原来,LELE最近研究起了著名的RPG难题:有排成一行的n个方格,用红(Red)、粉(Pink)、绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的涂法.以上就是著名的RPG难...原创 2018-07-18 15:19:52 · 196 阅读 · 0 评论 -
Light Bulb (三分)
Compared to wildleopard's wealthiness, his brother mildleopard is rather poor. His house is narrow and he has only one light bulb in his house. Every night, he is wandering in his incommodious house, ...原创 2018-07-18 16:50:20 · 267 阅读 · 0 评论