自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2.16今日总结

今天写了剩下的几个题。P2121 拆地毯题目背景还记得 NOIP 2011 提高组 Day1 中的铺地毯吗?时光飞逝,光阴荏苒,三年过去了。组织者精心准备的颁奖典礼早已结束,留下的则是被人们踩过的地毯。请你来解决类似于铺地毯的另一个问题。题目描述会场上有 n 个关键区域,不同的关键区域由 m 条无向地毯彼此连接。每条地毯可由三个整数 u、v、w 表示,其中 u 和 v 为地毯连接的两个关键区域编号,w 为这条地毯的美丽度。由于颁奖典礼已经结束,铺过的地毯不得不拆除。为了贯彻勤俭节约的

2022-02-16 22:21:42 150

原创 2.15今日总结

上午把P1629 邮递员送信写了。在b站上看了最小生成路的两种方法的动态讲解。P1629 邮递员送信题目描述有一个邮递员要送东西,邮局在节点 11。他总共要送 n-1n−1 样东西,其目的地分别是节点 22 到节点 nn。由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有 mm 条道路。这个邮递员每次只能带一样东西,并且运送每件物品过后必须返回邮局。求送完这 n-1n−1 样东西并且最终回到邮局最少需要的时间。输入格式第一行包括两个整数,nn 和 mm,表示城市的节点数量和道路数

2022-02-15 21:53:45 255

原创 2.14今日总结

上午学习了堆优化迪杰斯特拉。P4779 【模板】单源最短路径(标准版)题目背景2018 年 7 月 19 日,某位同学在NOI Day 1 T1 归程一题里非常熟练地使用了一个广为人知的算法求最短路。然后呢?100 \rightarrow 60100→60;\text{Ag} \rightarrow \text{Cu}Ag→Cu;最终,他因此没能与理想的大学达成契约。小 F 衷心祝愿大家不再重蹈覆辙。题目描述给定一个nn个点,mm条有向边的带非负权图,请你计...

2022-02-14 21:52:05 532

原创 2.13今日总结

上午,写了P1359 租用游艇这个题。我才用Floyd算法。题目描述长江游艇俱乐部在长江上设置了 nn 个游艇出租站 1,2,\cdots,n1,2,⋯,n。游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站 ii 到游艇出租站 jj 之间的租金为 r(i,j)r(i,j)(1\le i\lt j\le n1≤i<j≤n)。试设计一个算法,计算出从游艇出租站 11 到游艇出租站 nn 所需的最少租金。输入格式第一行中有一个正整数 nn,表示有 nn 个游艇

2022-02-14 21:51:58 178

原创 2.11今日总结

今天看了关于floyd求最短路算法,其实和动态规划差不多。floyd模板:int floyd(int k)//k表示总点数{for(int i=1;i<=k;i++)//转接点for(int j=1;j<=k;j++)//起点for(int z=1;z<=k;z++)//终点{ a[j][z]=min(a[j][z],a[j][x]+a[x][z]);}}输出1到n点,直接输出a[1][n]即可。Floyd需要初始化:可以取一个非常大的数。然后先将每个数

2022-02-14 21:51:36 105

原创 2.10今日总结

上午 3个半小时学习了map映射map映射:将一个字符串或数字表示为数组模式。类似桶排,但是map映射可以表示字符串,m["july"]=7;map<string,int>m;//表示将字符串映射为int型。定义模式:m["july"]=7;或者采用插入(m.insert(pair<string,int>("july",7)));还可以用于数据较大的。map<long long,long long>m;m[100000000]=1;P1

2022-02-10 22:13:33 90

原创 2.9今日总结

昨天看了一些关于hash的博客,但是什么也不太懂。今天算是有点收获。上午3个半小时学会了hash,它的意思就和数学中函数一样,一个数对应一个数,并且不相同,hash的模板:int sum=0;sum=(sum*base+a[i])%mod;base 表示进制,即将一个数表示为base进制的数,但是肯定会超出范围,所以可以进行取模操作来轻松保存,但是可能会有重复的hash值,因此取模的数应该非常大,这样可以减小误差,然后base最好取131,1331,13331,133331.....

2022-02-09 22:05:41 205

原创 1.24今日总结

上午学习了快排。快排的平均时间复杂度:nlog2 n。最复杂的情况:每次所选的基准数是当前序列中的最大或最小元。这样,长度为n的数据表的快速排序需要经过n趟划分,使得整个排序算法的时间复杂度为n的平方。快排有四种优化方法。1.取中间值在选取基准数时,通过比较第一个元素,最后一个元素,和中间位置元素的数据,找到在两者之间的数作为基准数。2.当分割后的数据较少时改用直接插入排序当排序的数据过小的时候,采用直接插入排序会更简单,直接插入排序平均复杂度为n的平方。直接插入排序模板:

2022-01-24 21:12:12 379

原创 1.21今日总结

上午学习了如何知道中序遍历和后序遍历求先序遍历。后序遍历最后一个为父节点,因此我们在中序遍历中找到先序遍历的父节点,并且每次遍历输出该后序遍历的父节点。而且此时该父节点在中序遍历中左边为左子树,右边为右子树,如果此时父节点左边还有儿子,就继续遍历,右边还有儿子,就继续遍历。[NOIP2001 普及组] 求先序排列题目描述给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度\le 8≤8)。输入格式22行,均为大写字母组成的字符串,表示一棵二叉树的中

2022-01-23 09:29:40 75

原创 1.20今日总结

上午复习了背包问题。01背包问题输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个整数,表示最大价值。 4 5 1 2 2 4 3 4 4 58背包问题,将每个物品分成取或者不取的情况,然后判断取或不取那个比较大,然后取了那个物品,就把空间减去那个物品的空间,价值加上那个物品的价值。核心代码: for(int i=1;i...

2022-01-20 23:22:10 359

原创 1.19今日总结

上午学习3个半小时补了一个补题,学习了二叉树。CF18B Platforms题目描述In one one-dimensional world there arennplatforms. Platform with indexkk(platforms are numbered from 1) is a segment with coordinates[(k-1)m,(k-1)m+l][(k−1)m,(k−1)m+l], andl<ml<m. Grasshopper ...

2022-01-20 11:57:29 72

原创 1.18今日总结

上午3个半小时学习了c++万能头文件:#include<bits/stdc++.h>学习了sort函数。1.数组:int a[10];for(int i=0;i<=9;i++)scanf("%d",&a[i]);sort(a,a+10);2.自定义函数:bool compare(int a,int b)//bool前面可以加static{return a>b//从大到小排序}sort(a,a+10,compare);3.

2022-01-18 22:35:18 98

原创 1.17今日总结

上午3个半小时在b站上学习了并查集,之后自己敲了并查集的代码。其中有一些错误。错误:1. if(father(x)==father(y))//如果根节点相同 这里一开始我比较的是父节点,然后就出现bug了。2.int find_root(int a)//寻找根节点 { if(father[a]==a)//如果父亲就是自己本身,说明自己就是根节点 return a; while(father[a]!=a) father[a]=find_root

2022-01-17 21:56:08 241

原创 1.16今日总结

上午,写了搜索中的[USACO11OPEN]Corn Maze S这道题,但是没有ac,具体原因还不清楚。题目样例可以通过题目描述This past fall, Farmer John took the cows to visit a corn maze. But this wasn't just any corn maze: it featured several gravity-powered teleporter slides, which cause cows to teleport i

2022-01-16 21:38:57 71

原创 1.14今日总结

题目背景kkksc03 的大学生活非常的颓废,平时根本不学习。但是,临近期末考试,他必须要开始抱佛脚,以求不挂科。题目描述这次期末考试,kkksc03 需要考44科。因此要开始刷习题集,每科都有一个习题集,分别有s_1,s_2,s_3,s_4s1​,s2​,s3​,s4​道题目,完成每道题目需要一些时间,可能不等(A_1,A_2,\ldots,A_{s_1}A1​,A2​,…,As1​​,B_1,B_2,\ldots,B_{s_2}B1​,B2​,…,Bs2​​,C_1,C_2,\ldo...

2022-01-16 19:13:51 146

原创 1.13今日总结

上午用dfs思考了奇怪的电梯问题,同时也学了学bfs。下午:题目描述呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第ii层楼(1 \le i \le N)(1≤i≤N)上有一个数字K_i(0 \le K_i \le N)Ki​(0≤Ki​≤N)。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如:3, 3 ,1 ,2 ,53,3,1,2,5代表了K_i(K_1=3,K_2=3,…)Ki​(K1

2022-01-13 22:02:00 109

原创 1.12今日总结

1.N皇后问题:题目描述一个如下的6 \times 66×6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。上面的布局可以用序列2\ 4\ 6\ 1\ 3\ 5246135来描述,第ii个数字表示在第ii行的相应位置有一个棋子,如下:行号1\ 2\ 3\ 4\ 5\ 6123456列号2\ 4\ 6\ 1\ 3\ 5246135这只是棋子放置的一个解。请...

2022-01-12 22:09:52 57

原创 1.11 今日总结

复习了链表,就敲了些简单的代码。首线链表需要结合结构体所以typedef node{ int data;//数据 node *next;}*linklist;//这样自定义,可以把linklist看做int创建链表:我采用的是头插法。linklist head;//头部head=(linklist)malloc(sizeof(linklist*);//空地址linklist end;//尾部end=head;for(int i=0;i<n;i++)//n

2022-01-11 22:34:31 51

原创 1.10.今日总结

题目背景给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过。给定起点坐标和终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案。在迷宫中移动有上下左右四种方式,每次只能移动一个方格。数据保证起点上没有障碍。题目描述无输入格式第一行N、M和T,N为行,M为列,T为障碍总数。第二行起点坐标SX,SY,终点坐标FX,FY。接下来T行,每行为障碍点的坐标。输出格式给定起点坐标和终点坐标,问每个方格最多经过1次,从起点坐标到终点坐标的方案总数。输入输出样例

2022-01-10 21:23:30 87

原创 1.9.每日总计

上午:dfs题目描述Due to recent rains, water has pooled in various places in Farmer John's field, which is represented by a rectangle of N x M (1 <= N <= 100; 1 <= M <= 100) squares. Each square contains either water ('W') or dry land ('.'). Farm

2022-01-09 21:07:44 93

原创 今日总结:

习题D-D欢迎大家加入ACM!要深入的学习ACM的相关知识,首先就必须学会一门编程语言,推荐C/C++。不过对于初学者,因为没编过多少代码,经常出现变异错误,其实就是语法错误。现在要你检查一段代码的语法是否否正确。为了简化问题,我们只检查 (、)、{、} 括号是否匹配了,并且在输入的代码中不包含字符的'(',')','{','}'。其他语法错误不检查,如 "#include <stdio.h","2 = x",是错误的,但是不检查。Input有多组测试数据,每组测试数据有一段

2021-12-16 23:04:46 66

原创 今日总结:栈

习题:F - F冰冰子最近新学习了队列和栈两种重要的数据结构,他知道它们具有push 和pop操作。而冰冰子现在想同时研究栈和队列,于是,他开始了一个实验。现在,假设队列和栈都是空的。给定一系列push k和pop操作之后,冰冰子想知道队列和栈中分别存的数字。若队列或栈已经空了,仍然接收到pop操作,则输出error。Input第一行为m,表示有m组测试输入,m<100。每组第一行为n,表示下列有n行push k或pop操作。(n<150)接下来n行,每行是pus

2021-12-15 23:20:11 1054

原创 每日总结

目录:1.栈2.队列栈A - A现在有n个元素分别是1,2,3,...,n,我们想知道通过一个栈,在n次push/pop后,出栈序列可能是什么样的。例如n是5,那么入栈次序就是1,2,3,4,5,如果我们希望出栈次序同样是1,2,3,4,5,那只要每push一个数,就立即pop一个数。如果我们希望出栈次序是3,2,4,5,1,那么我们先让1,2,3入栈,然后pop出来3和2,接着4入栈后马上pop,再就是5入栈后马上pop,最后再把栈里的1pop出。再例如,如果我们希望出栈次序是5.

2021-12-14 22:38:48 1223

原创 每周总结1

目录:1.结构体2.快排3.简单的dfs问题4.递归5.二分结构体形式:struct node {int x;int y;};

2021-12-12 20:48:31 68

原创 2021年12月9日学习总结

目录:1.混和牛奶2.小兔子的果园3.小叶子学英文混和牛奶描述牛奶包装是一个如此低利润的生意,所以尽可能低的控制初级产品(牛奶)的价格变的十分重要。请帮助快乐的牛奶制造者(Merry Milk Makers)以可能的最廉价的方式取得他们所需的牛奶。快乐的牛奶制造公司从一些农民那购买牛奶,每个农民卖给牛奶制造公司的价格不一定相同。而且,如一只母牛一天只能生产一定量的牛奶,农民每一天只有一定量的牛奶可以卖。每天,快乐的牛奶制造者从每个农民那购买一定量的牛奶,少于或等于农民所能提.

2021-12-09 22:28:24 162

空空如也

空空如也

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

TA关注的人

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