自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 【ACM训练】枚举

传送门:poj1753Flip GameTime Limit:1000MS Memory Limit:65536K Total Submissions:55896 Accepted:23364 DescriptionFlip game is played on a rectangular 4x4 field with two-sided...

2019-07-11 17:07:48 446

原创 哈夫曼编码

题目来源:数据结构实验 NOJ 033哈夫曼编/译码器Description写一个哈夫曼码的编/译码系统,要求能对要传输的报文进行编码和解码。构造哈夫曼树时,权值小的放左子树,权值大的放右子树,编码时右子树编码为1,左子树编码为0。Input输入表示字符集大小为n(n <= 100)的正整数,以及n个字符和n个权值(正整数,值越大表示该字符出现的概率越大);输入串长小于或等于...

2019-05-06 16:53:55 407

原创 dfs求联通分量

传送门1013 Battle Over Cities (25 分)It is vitally important to have all the cities connected by highways in a war. If a city is occupied by the enemy, all the highways from/toward that city are close...

2019-02-24 10:09:58 224

原创 求树每一层叶子结点个数

传送门1004 Counting Leaves (30 分)A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child.Input Specification:Each input file contai...

2019-02-23 21:51:11 481

原创 背包九讲

1.01背包Bone CollectorTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 85330    Accepted Submission(s): 35307 Problem DiscriptionMany yea...

2018-09-30 08:44:31 152

原创 A*搜索+k短路

题目连接 传送门 分析:参考传送门前言:最短路算法是我们非常熟悉的了。Dijkstra,SPFA等单源最短路算法是我们在竞赛中常用的算法。那么,假如题目要求的不是最短的呢?Question(1):给定一个图,求次短路。对于次短路,很容易想到在比较的时候进行处理。设dis(u)为原点s到u的最短路径,u为当前节点,v和u有边相连。x = dis[v] + f[u][v...

2018-09-08 22:55:59 133

原创 南京网络赛 J sum

题目连接 传送门题目大意:f(n)定义为n=a*b这样分解的式子数,其中a和b不能包含平方因子。当a!=b时n=a*b和n=b*a视为两个式子。t 组测试,n表示所求结果为 f(1)+f(2)+f(3)+...+f(n)题解:有如下结论1.若i是素数则f(i)=22.若i的某个质因子个数超过2,则f(i)=0。这个结论很好想,如果有大于2个相同质因子,那么对于i的每个分解 i=a*...

2018-09-07 22:52:50 146

原创 ACM暑期集训33

组队训练赛第五场A - BBP Formula题目连接传送门分析:BBP算法的模板用来直接计算π的第n+1,n+2...十六进制位详细算法证明见传送门#include <iostream>#include <cmath>#include <stdio.h>using namespace std;typedef lon...

2018-08-30 22:53:05 203

原创 ACM暑期集训32

题目网址传送门组队训练赛第四场A水题,少看一个单词WA了六次~~#include<iostream>#include<stdio.h>#include<algorithm>#include<string.h>#include<math.h>using namespace std;char a[200];in...

2018-08-30 21:38:18 153

原创 ACM暑期集训31

组队训练赛第三场题目连接传送门标记排序即可#include<stdio.h>#include<algorithm>using namespace std;struct ab{ int a[101]; int mark,cnt;};ab cd[101];bool cmp(ab a,ab b){ if(a.cnt>b.cnt||a...

2018-08-28 22:54:20 147

原创 ACM暑期集训30

组队训练赛第二场题目连接传送门B. Boss Battle当n≤3时显然1步就可以炸死。否则每次可以缩小一格,故答案为n−2。#include<stdio.h>int main(){ int t; scanf("%d",&t); if(t<=3) printf("1\n"); else printf("%d\n",t-2);}D....

2018-08-28 22:25:05 105

原创 ACM暑期集训29

写一下今天比赛的题解组队训练赛第一场题目连接传送门Problem D Harry Potter and The Vector Spell分析:对于新的一列的两个点,如果他们已经在一个集合,就说明他们可以由之前的线性表示,那么这个向量就可以舍去,计数,输出结果结果即可#include <iostream>#include <vector>...

2018-08-26 21:27:05 246

原创 ACM暑期集训28

先补一道题,后面再补:Christmas is coming and Bob wants to decorate his tree. The tree has N nodes. 1 is the root. He thinks a tree is beautiful if each node has exactly K child (immediate descendant) nodes (of...

2018-08-25 23:00:57 150

原创 ACM暑期集训27

补题:Find IntegerTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 694Accepted Submission(s): 83Special JudgeProblem Descriptionpeopl...

2018-08-25 22:35:30 140

原创 ACM暑期集训26

Minimum Inversion NumberTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 24289Accepted Submission(s): 14383Problem DescriptionThe in...

2018-08-20 09:59:01 189

原创 ACM暑期集训25

前期线段树的题刷的比较少,今天补一下。1.单点修改,区间求和敌兵布阵Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 123163Accepted Submission(s): 51587Problem Desc...

2018-08-19 23:20:39 151

原创 ACM暑期集训24

G - Okabe and BoxesOkabe and Super Hacker Daru are stacking and removing boxes. There arenboxes numbered from1ton. Initially there are no boxes on the stack.Okabe, being a control freak, g...

2018-08-19 10:44:25 157

原创 ACM暑期集训23

C - Restructuring CompanyEven the most successful company can go through a crisis period when you have to make a hard decision — to restructure, discard and merge departments, fire employees and ...

2018-08-18 22:57:12 230

原创 ACM暑期集训22

今天学了概率dp,概率dp和平常dp的过程有点相反。小明需要在操场顺时针跑圈打卡,操场上有两个打卡点A,B, 他需要先在A点打卡,然后在B点打卡(哪怕B点在A点前面),打完卡就可以结束跑步了,他的起点以及A,B两点的位置是随机的,告诉你操场的长度X米,求他需要跑超过K米的概率。输入: 输出:32 2 0.5...

2018-08-16 22:16:27 288

原创 ACM暑期集训21

补一下昨天刷的题。Gappu has a very busy weekend ahead of him. Because, next weekend is Halloween, and he is planning to attend as many parties as he can. Since it's Halloween, these parties are all costume p...

2018-08-16 21:42:47 147

原创 ACM暑期集训20

前面写树形dp,只写了思路,今天找了这些题把题目做了一下。1。求树的重心题目来源:传送门 Balancing ActTime Limit:1000MS Memory Limit:65536K Total Submissions:...

2018-08-14 23:14:40 207

原创 ACM暑期集训19

写两道DP的题解:A - Max Sum Plus PlusNow I think you have got an AC in Ignatius.L's "Max Sum" problem. To be a brave ACMer, we always challenge ourselves to more difficult problems. Now you are faced wit...

2018-08-13 22:42:48 130

原创 ACM暑期集训18

今天雨神开小灶讲了树形dp。引入:给你一棵n个点的树(1号点为根节点),求以点i为根的子树的大小分析:F[i]以点i为根的子树的点的个数 F[i] = 1+ΣF[k] (k是i的儿子)伪代码:Void dfs(i ){ If(i是叶子节点) f[i] = 1, 返回; for (k 是i的儿子) { dfs(k); f[i]...

2018-08-13 21:54:27 673

原创 ACM暑期集训17

刷题打卡:BTwo boys Gena and Petya wrote on two strips of paper the same stringsthat consisted of lowercase Latin letters. Then each boy took one strip, cut it into small pieces so that each piece co...

2018-08-12 22:27:56 1120

原创 ACM暑期集训16

刷题打卡:C - Dropping testsIn a certain course, you takentests. If you getaiout ofbiquestions correct on testi, your cumulative average is defined to be.Given your test scores and a positiv...

2018-08-10 22:38:52 268

原创 ACM暑期集训15

按照艾神的推荐,在vjudge上刷这个章节的题。A - River HopscotchEvery year the cows hold an event featuring a peculiar version of hopscotch that involves carefully jumping from rock to rock in a river. The excitement ...

2018-08-09 23:04:16 99

原创 ACM暑期集训14

今天刷了两道区间dp的进阶题,再次写下题解。1. HDOJ 2513 Cake slicingCake slicingTime Limit: 2000/1000 MS (Java/Others)Memory Limit:32768/32768 K (Java/Others)Total Submission(s): 283Accepted Submission(s): ...

2018-08-08 21:46:32 163

原创 ACM暑期集训13

今天听艾神的课,许多题目都涉及区间dp,于是自己在网上找了个区间dp小结传送门,按照这里的题目从上开始刷,下面写的主要是做题的题解。石子合并(一)时间限制:1000ms | 内存限制:65535KB描述有N堆石子排成一排,每堆石子有一定的数量。现要将N堆石子并成为一堆。合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费的代价为这两堆石子的和,经过N-1次合...

2018-08-07 22:51:10 232

原创 ACM暑期集训12

今天学了后缀数组,感觉好难理解,只能搬PPT,粘模板了~~1)后缀: suffix(i)为从下标i开始的后缀String = “abcdef” Suffix(1) = “bcdef” Suffix(2) = “cdef”什么是后缀数组?把一个字符串的所有后缀按字典序进行排序。后缀数组sa[i]表示排名为i的后缀下标是什么,rk[i]表示下标为i的后缀排名是多少 r...

2018-08-03 22:39:19 192

原创 ACM暑期集训11

今天主要学习了KMP算法,trie树和AC自动机1.KMP算法KMP算法是用来解决字符串匹配问题,时间复杂度O(n+m) (其中n,m分别为长、短字符串的长度)直接上模板,后面有注释1)求fail数组void getFail(int n) { //n表示短字符串的长度 int i = 0, j = -1; //i表示短字符串当前位置,j表示当前位置之前的...

2018-08-02 16:48:18 146

原创 ACM暑期集训10

今天主要学习力计算几何基础。以下主要给出计算几何的一些算法的代码,而分析问题,知道所需算法也十分重要。1.凸包1)先上凸包需要的数据结构完善点的数据结构:struct Point { double x, y; Point(double x=0, double y=0): x(x), y(y) {} //构造函数 Point operator + (Point p)...

2018-08-01 20:34:29 167

原创 ACM暑期集训9

今天依旧学习的是数论。1.同余方程同余:设 m 是正整数,若 a 和 b 是整数,且 m | (a - b),则称 a 和 b 模 m 同余,记作 a ≡ b (mod m)。一元线性同余方程:形如 ax ≡ b (mod m) 的同余式。 定理:设 d = gcd(a, m),若 d | b,则该方程恰有 d 个模 m 不同余的解 x = x0 + (m / d)t,其中...

2018-07-31 22:36:06 211

原创 ACM暑期集训8

今天主要学习了数论,算法模板很多,思想很重要。1.素数1)素数定理:不超过 n 的素数的个数 π(n) → n / ln(n) (这样开数组可以开小点,防止TLE)2)筛选法素数埃氏筛:用所有小于等于√n 的数来筛去合数。bool isprime[MAXN + 1];void getPrime() { memset(isprime, true, sizeof(is...

2018-07-30 23:12:20 169

原创 ACM暑期集训7

今天主要学习了网络流1.最大流dinic算法1 先使用BFS建立层次图,就是求每个点到源点的距离2 再使用DFS找增广路,对每个点x,找层数比它恰好大1的所有点v进行增广 也就是d[x] + 1= d[v]3 重复第二步直到没有增广路4 重复123步直到没有增广路直接上模板#include<iostream>#include<queue>...

2018-07-27 20:20:08 126

原创 ACM暑期集训6

今天主要学习了最小生成树和二分图初步1.最小生成树1)prime算法从某个起点s开始,不断地在未标记的点中,取与已标记的点(已加入生成树的点)所连的边权值最小的点,将这个点标记并加入最小生成树中。重复直到所有的顶点都被加入到最小生成树中为止。实现步骤:vis[]标记节点,Map[][]存图dis[i]表示节点i到已标记的点的集合的最短距离(1)初始化:在起点处标记,...

2018-07-26 22:23:37 179

原创 ACM暑期集训5

今天主要学习力图论基础和最短路径1.图论基础1)邻接矩阵存图W[i][j]表示以ij为顶点的边的权值const int N=105, INF=9999999;int dis[N], w[N][N],vis[N],n,m;//邻接矩阵存图for(int i=1; i<=n; ++i){ w[i][i] = INF; for...

2018-07-25 22:36:03 190

原创 ACM暑期集训4

今天主要学习了线段树,树状数组,ST表,差分,分块和树剖(好吧,这个已经没听懂了)1.线段树线段树涉及许多应用和思想,以下是今天所学线段树主要用于处理一段连续区间的插入,查找,统计,查询等操作。复杂度:设区间长度是n,所有操作的复杂度是logn级别。性质: 线段树是平衡的2叉树,最大深度logn(n为线段树所表示区间的长度)树中的每一个节点代表对应一个...

2018-07-24 23:52:55 201

原创 ACM暑期集训3

今天主要学习了STL以及常用技巧、单调栈、单调队列、并查集。1.set和multisetset自带排序(默认优先级由小到大,可以重载<来改变排序),无重复遍历int::iterator pos;for (pos = coll1.begin(); pos != coll1.end(); ++pos) { cout << *pos << '...

2018-07-23 23:36:01 142

原创 ACM暑期集训2

今天主要学习了线性DP和背包问题以及快速幂。1.整数快速幂:这个直接粘上代码int QPow(int x,int n){ int res = x,ans = 1; while(n) { if(n&1) { ans = ans * res; } res = res*...

2018-07-22 23:41:39 112

原创 ACM暑期集训1

第一天的集训主要学习一些基本的知识,涉及贪心、二分、和一些简单的思想。对于单调的连续数组,求某一元素出现的次数:在这之前,先介绍两个函数lower_bound(地址,地址,元素)upper_bound(),头文件是<algorithm> (之前一直知道却很少用,这次一提,后面要记牢)lower_bound()查找大于等于X的第一个位置(是一个地址,可以通过减去首地址得到下标...

2018-07-21 23:35:47 331

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除