- 博客(14)
- 收藏
- 关注
原创 洛谷 P2121 P1194 P1091 图论 dp 2021-01-22
P1194 买礼物题目背景还记得 NOIP 2011 提高组 Day1 中的铺地毯吗?时光飞逝,光阴荏苒,三年过去了。组织者精心准备的颁奖典礼早已结束,留下的则是被人们踩过的地毯。请你来解决类似于铺地毯的另一个问题。题目描述会场上有 n 个关键区域,不同的关键区域由 m 条无向地毯彼此连接。每条地毯可由三个整数 u、v、w 表示,其中 u 和 v 为地毯连接的两个关键区域编号,w 为这条地毯的美丽度。由于颁奖典礼已经结束,铺过的地毯不得不拆除。为了贯彻勤俭节约的原则,组织者被要求只能保留 K 条地
2021-01-22 15:51:07
208
原创 PTA浙大版《数据结构(第2版)》 2021-01-17
习题2.5 两个有序链表序列的合并 (15分)本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。函数接口定义:List Merge( List L1, List L2 );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */};typedef PtrTo
2021-01-18 00:03:04
359
原创 PTA 浙大版《数据结构(第2版)》2021-01-16
习题1.8 二分查找 (20分)本题要求实现二分查找算法。函数接口定义:Position BinarySearch( List L, ElementType X );其中List结构定义如下:typedef int Position;typedef struct LNode *List;struct LNode { ElementType Data[MAXSIZE]; Position Last; /* 保存线性表中最后一个元素的位置 */};L是用户传入的一个线性表,
2021-01-16 14:04:12
652
原创 洛谷 康托展开 部分题目
目录P2524 Uim的情人节礼物·其之弐P5367 【模板】康托展开P3014 [USACO11FEB]Cow Line SP2524 Uim的情人节礼物·其之弐P2524 Uim的情人节礼物·其之弐述题目描述前传:详见洛谷P2525Uim成功地按照顺序将礼物送到了N个妹子的手里并维持她们的和谐。Uim现在想知道,他最终选择的顺序是所有给N个妹子送礼顺序中、字典序第几小的。输入格式第一行一个整数N,表示有N个数。第二行一个整数X,表示给出的排列。输出格式一个整数,表示是第几小的字典序
2020-12-02 00:07:49
444
原创 洛谷 并查集 or 生成树入门题集
文章目录P3367 【模板】并查集P3366 【模板】最小生成树P1551 亲戚P1195 口袋的天空P2330 [SCOI2005]繁忙的都市P1396 营救P1547 [USACO05MAR]Out of Hay SP1111 修复公路P1546 [USACO3.1]最短网络 Agri-NetP1536 村村通P2820 局域网P3367 【模板】并查集P3367 【模板】并查集#include<iostream>#define N 10005int bb[N];using na
2020-11-30 15:40:16
549
原创 选拔赛题解
比赛地址A:考点:转义字符#include<stdio.h>int main() { printf("\"kunshen NB!\"");} B:计算题 + 输入格式#include<stdio.h>#include<math.h> // 绝对值函数abs头文件 int main() { int x, y, a, b; char s; scanf("%d:%d", &a, &b); scanf("%d:%d", &
2020-11-22 21:51:55
828
原创 Dev的安装和简单使用
1、下载安装包2、打开3、点击????4、点击I Agree5、点击Browse选择安装目录,点击install,然后稍等片刻6、点击finish(第一次运行Dev,会出现一些界面的选择)语言选自己看得懂的一个就行,其他直接默认即可)7、点击文件,点击新建,点击源代码,写一个简单的c程序(快捷键为CTRl +N8、输入结束后,点击该图标,编译运行,得到输出结果。(快捷键为F11)9、代码编辑区的字体和大小以及背景颜色等可以在这里修改。10、运行窗口的布局,字体等的调节,鼠标右击运
2020-09-28 00:15:54
5914
原创 二进制枚举题集 入门篇 第一弹
星期七补星期一的课,所以今天是星期八,上次说过星期八写博客,今天就来了。二进制枚举是比较偏的算法,知道的人不多。其底层原理就是通过二进制中的1和0代表每种物品选与不选的情况。如果需要选取的物品为20, 则它所以可能的情况为2的20次方,即1 048 576,所以二进制枚举只能用来处理数据量较小的题目,尽管比较局限,但是它处理这类题目的程序相较于搜索是比较容易写出的,而且也很好理解。文章目录例题...
2020-04-26 23:51:18
667
1
原创 各种迷迷迷宫问题 深搜dfs和广搜bfs做法
三分钟热度又回来了谈到迷宫问题就得提到解决迷宫问题的常见做法,bfs和dfs在处理迷宫问题时,dfs一般用来解决能不能的问题,即从x点能否到达y点,而bfs一般用来解决最少需求的问题,即从x点走到y点最少需要多少步。当然,很多情况下,用bfs和dfs都能解决上述两个问题,就看哪种方法效率高或者说你乐意用哪种方法。成天想什么呢,效率最重要bfs:定义一个队列;起始点加入队列;while(...
2020-04-18 20:29:53
1511
3
原创 二分查找 (模板+例题)
板子int BinarySearch(int a[], int size, int num) {//参数分别为:数组,数组元素的个数,待查找的元素 int left = 1; right = size, mid; while(left <= right) { mid = left + (right-left) / 2; if(num==a[mid]) return...
2020-02-19 16:21:07
916
转载 关于lower_bound( )和upper_bound( )的常见用法
lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的。在从小到大的排序数组中,lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。upper_bou...
2020-02-19 14:37:12
278
原创 位运算小手段巧解 操作 + 例题
位运算有好多应用,限于篇幅 懒呐 这里只列举了一部分,整理好再补充1.交换两个数(不需额外变量)#include<iostream>using namespace std;int main() { ios::sync_with_stdio(false); int x, y; cin>>x>>y; x = x ^ y; ...
2020-02-02 20:14:07
359
原创 深度优先搜索 模板+例题
dfs板子bool check(参数) { if(满足条件) return ture; return false;}void dfs(int step) { if(到达边界){ 输出或其他相关操作 //根据题意添加 return ; } if(越界 / 不合法的状态) return;for() { if(满足check) { 修改...
2020-01-13 22:22:23
912
原创 并查集
并查集简单学第一次记录(感谢前辈指导)递归查找void find(int x) { if(bb[x] == x) return x; return bb[x] = find(bb[x]);}循环查找void find(int x) { while(x != bb[x]) { x = bb[x] ==bb[bb[x]]; }} 合并两子集void me...
2020-01-12 20:15:28
126
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人