- 博客(23)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Windows10开机无限蓝屏(SrtTrail.txt)
这个问题已经有很多的大佬发过解决办法了,这里仅仅作为自己日后方便查找所写文章无法开机——自动修复失败,报SrtTrail.txt文件错误,且陷入无限蓝屏的循环事故 故事的起因是这样的:开开心心的组装电脑,花了几天时间来配置,然后发现USB3.0的接口太少,于是在某宝上搞到一张pcie转7口USB3.0的转接卡,往电脑上一插插电,开机,电流轻松跑上去然后,它和原来的磁盘阵列卡冲突,跳过阵列卡自检直接进入系统,boom,就导致了这场悲剧解决方法在蓝屏的界面找到:疑难解答->通过命令提示符使
2020-07-22 23:38:16
28172
12
原创 ACM图论专题-最优比率生成树
ACM图论专题-最优比率生成树题目大意解法题目大意给你很多点,两点之间包含收益值和成本值,你要找到一颗生成树,使得其各边的收益值和成本值得比值最大解法这是一道典型的0/1分数规划问题我们有∑i=1nval[i]∑i=1ncost[i]≥k\frac{\sum^n_{i=1}val[i]}{\sum^n_{i=1}cost[i]}\geq k ∑i=1ncost[i]∑i=1nval[i]≥k那么上述式子化简后其实可以是∑i=1nval[i]−k∗cost[i]≥0\sum^n_{
2021-07-22 08:51:34
345
原创 AtCoder - abc207_e
AtCoder - abc207_e题目大意基本思路优化思路题目大意给你一个数组A,你可以将这个数组分为很多小块,但是要满足每一个小块的每个元素的值的和要能被这个块的编号整除,最终你需要输出满足这样性质的划分有多少种。答案对1e9+7取模基本思路我们可以记录一个 dp[i][j] 数组,表示我们当前划分的是第 i 个块,其结束位置是 j ,那么很容易有一个暴力的转移方程dp[i][j]=∑k=1j−1dp[i−1][k],((sum[j]−sum[k])mod i==0)dp[i][j]=\s
2021-07-20 09:34:34
339
原创 计算几何模板
学校大佬写的,本人对某些错误做修改后发发出如果后续使用过程发现错误或需要补充的地方,欢迎下方评论区指正,我会第一时间修改namespace Computational_Geomrtry //计算几何命称空间{#include <algorithm>#include <cmath>#include <vector>#define PI acos(-1) const double eps(1e-10);
2021-07-19 10:04:47
184
原创 ACM图论专题-Picnic Planning
Picnic Planning题目大意解法题目大意给出一个图的边的关系,其用节点名字和距离描述边为双向边求出该图的一个最小生成树,并且满足1号节点的度数不大于给定的值解法首先要去除掉1号节点后用kruskal算法求得其余节点的最小生成森林注意,若此时森林数量大于了给定的1号节点最大度数,那么肯定没有解然后再将1号节点加入,再次使用kruskal算法,得到1号节点度数最小的一棵生成树(注意,不一定是最小的)考虑其余从1号点出发的边,其是否能够将优化路径权值,如果有多个可优化的值,我们应该选择
2021-07-15 15:27:47
200
原创 ACM图论专题-AtCoder-abc209_e-Problem E
AtCoder-abc209_e-Problem E题目大意解法题目大意两个人可以在一堆字符串中选择一个作为开头然后两人开始博弈,过程为:当前选择的字符的前三位字符一定要是上一次选择的一样,而且不能改变顺序,谁最先不能走就比赛失败两人的方案都以能活下去而不是以赢对手解法由于直接建图的话可能存在 n2n^2n2 条边,这是空间和事件不能接受的,故考虑将原有字符串拆点其实际就是前三个字符和后三个字符在影响边的情况,所以我们将一个字符串拆开成为两个点,一个是其前三个字符代表的点,另一个是后三个字符
2021-07-15 09:22:24
469
3
原创 ACM图论专题-走廊泼水节
走廊泼水节题目大意解法题目大意给定n个节点的一颗树,你需要将其补全为一个完全图,但是所补得完全图应该满足其最小生成树任然是给定的树,问补全这棵树所需要的边权值之和解法利用kruskal算法求解最小生成树的思想在此过程中,需要记录下每次合并的两个集合的元素的数量然后再合并的时候累计(cnt[x] * cnt[y]-1) * (val[x][y]+1)即可得到最终的答案题目要求唯一最小生成树还是原来的树简要证明如下:两个完全图,一个为x,一个为y其大小分别是cnt[x]和cnt[y],这两个
2021-07-14 09:53:43
108
原创 ACM图论专题-Cow Relays
Cow Relays题目大意解法题目大意给定n个点,m条无向边,给定起点和终点,问经过k条路径能从起点走向终点的最短路程解法题目点数较少,但是范围较大,可以先用离散化将点从新映射到较小范围,然后使用Floyd算法为核心思想解决问题具体操作证明ans[i][j][x]=min(ans[i][k][x-y]+ans[k][j][y],ans[i][j][k])i,j表示路程的起点和终点,x表示中间经过了几条边上式显然满足交换律,故可以使用类似矩阵快速幂的方法实现代码如下:#include &
2021-07-14 09:09:43
182
原创 ACM图论专题-Sorting It All Out
Sortint It All Out题目大意解法题目大意给出n个变量,m个不等关系。不等式之间具有传递性,通过传递性来判断这m个不等关系是不是可以确定两两变量之间的唯一大小关系解法利用Floyd算法来传递关系,利用二分法来确定最少需要不等式数量如果所有不等关系可以直接确定,且没有矛盾,那么需要找到能唯一确定关系的最少不等式数量如果所有不等关系不能确定,且没有矛盾,直接输出“Sorted sequence cannot be determined.”其他情况则需要输出最少能确定矛盾或者推倒出不
2021-07-13 21:18:23
189
原创 ACM图论专题-Roads and Planes(最优贸易)
Roads and Planes题目大意解法题目大意给定n个点的图有两种类型的边,一种是双向边,保证非负一种是单向边,可能存在负值,但保证负边不成环问从规定s节点出发后,到达每个点的最短距离解法因为保证了单向边不成环,说以我们可以先处理双向边,并将其缩为一个点然后再在有点向边的基础上,对于全部的单向边和缩的点跑拓扑排序,对于每个缩的点跑dijkstra具体过程如下:1.只把双向边加入图中,用dfs处理出图的连通块,计color[x]为节点x所在的连通块编号2.读取双向边信息,统计每个连
2021-07-13 17:29:50
201
1
原创 ACM图论专题-最优贸易
最优贸易题目大意解法题目大意n个城市,m条路径(某些为单向边某些为双向边)每个城市都可以买或卖水晶球(但是整个只能买或卖一次),问最后能赚取的最大差价是多少解法基于spfa算法每个城市的价格为price,当前最优的买入价格是buy,最优的卖出价格是sale那么我们就可以知道buy[v]=min(price[v],buy[u]),最优的卖出价格是sale[v]=max(price[v],sale[u]),然后注意要建两个图,一个正向图,一个反向图,正向图跑的是排入价格,反向图跑的是卖出价格代码
2021-07-12 18:35:07
225
原创 ACM图论专题-Telephone Lines
Telephone Lines题目大意解法题目大意给定有n个点,m条边的无向图你要从1号点走到n号点,在此过程中,你可以忽略k次路程的距离(可以比k小)问剩下路程中最长路段的最小值是多少解法最大值最小,显然可以用二分套最短路解决,但是这里我们基于dp思想,用一个dp数组记录在某个节点 i 忽略 j 次后所得到的最小的最大值代码如下:#include <bits/stdc++.h>using namespace std;const int M = 200010;const i
2021-07-11 21:04:39
176
原创 小学生都能看懂的KMP算法原理及实现(简单版)
小学生都能看懂的KMP算法原理及实现(简单版)说明什么是KMP算法从暴力思考KMP算法算法原理Next数组的构建Next数组的代码实现用Next数组匹配例题([Luogu P3375](https://www.luogu.com.cn/problem/P3375))说明在此版本中,我们仅对KMP算法的Next数组和简单的匹配做讲解对于NextVal数组不做讨论什么是KMP算法KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克
2021-02-09 20:36:14
544
原创 Educational Codeforces Round 103 题解报告A-D
Educational Codeforces Round 103 题解报告A-DA. K-divisible Sum题目大意:B. Inflation题目大意:C. Longest Simple Cycle题目大意:思路分析:D. Journey题目大意:思路分析:A. K-divisible Sum题目大意:给定 n 个数和一个参数 k ,并构造一个数列 a1an~ 的和能够被给定参数 k 整除,问这样满足条件的数列中的最大值最小是多少我们考虑一下两种情况:给定的 n≤kn \le kn≤
2021-01-30 04:06:21
707
2
原创 VScode配置Arduino开发环境(保姆级教程,包括图形化编程,DEBUG信息消除,字体乱码的解决办法)
VScode配置Arduino开发环境arduino、VScode的安装Path路径的配置vscode环境的配置仅对Arduino进行开发多种任务共用VScode进行开发(推荐这样配置)一些小问题的处理关于Vscode自己创建的一些文件Arduino添加第三方开发板关于编译时出现一大堆DEBUG和TRACE关于编译时中文显示乱码的问题Arduino添加可视化编程arduino、VScode的安装首先我们需要下载arduino的编译器这里就直接建议在Arduino中文社区下载就行了,速度比官网快太多了
2021-01-25 02:22:45
32095
20
原创 小学生都能看懂的并查集
并查集)普通并查集权值并查集1(Find them, Catch them为例)权值并查集2(食物链)普通并查集以洛谷 P3367 【模板】并查集 为例题目描述如题,现在有一个并查集,你需要完成合并和查询操作。我们可以想到这样,对于每一次的合并操作,我们得到的结果可以用一棵树来表示,那么整个并查集的过程实际上是对森林进行操作,而我们判断两个元素是否在一个集合中,只需要判断其对应的森林的根节点是否相等就可以了于是我们有了最初的想法:fa[i]=i;for_each_merge : fa[x
2021-01-06 11:23:43
285
2
原创 树莓派配置SAMBA文件服务器
树莓派文件服务器配置方法准备工作硬件软件树莓派系统安装树莓派环境配置更新Vim(可以忽略,我们用nano):安装xrdp(可以忽略,我们用MobaXterm)查看树莓派ip地址并登录挂载移动硬盘使用samba远程访问番外命令行模式桌面模式准备工作硬件树莓派(推荐4代,有USB3.0接口,速度会比较快,内存无所谓)MicroSD卡,最好8G以上容量用来共享文件的储存设备,可以是U盘,移动硬盘等一台可以用来配置树莓派的电脑(Windows)软件系统:官方的Rasbian就可以了MobaX
2020-12-02 13:44:06
759
原创 算法引入——归并排序
分治算法详解啥是分治为什么要用分治经典应用——归并排序啥是分治分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。即一种分目标完成程序算法,简单问题可用二分法完成。这个小规模子问题很好理解,这里我们用一道小学数学题来引入现在有一堆硬币,其中有一枚假币,且已知这一枚假币的质量比真币轻,请问需要多少次称重才能找到这枚假币传统的朴素算法:在未选择序列中选择两枚称重 如果发现质量相等 将这两枚从未选择序列
2020-11-29 23:50:33
111
原创 POJ -3714 Raid
在应用中,常用诸如点、圆等简单的几何对象代表现实世界中的实体。在涉及这些几何对象的问题中,常需要了解其邻域中其他几何对象的信息。例如,在空中交通控制问题中,若将飞机作为空间中移动的一个点来看待,则具有最大碰撞危险的2架飞机,就是这个空间中最接近的一对点。这类问题是计算几何学中研究的基本问题之一。下面我们着重考虑平面上的最接近点对问题。最接近点对问题的提法是:给定平面上n个点,找其中的一对点,使得在n个点的所有点对中,该点对的距离最小。严格地说,最接近点对可能多于1对。为了简单起见,这里只限于找其中的一对
2020-11-29 11:26:41
336
原创 蒟蒻的博客-番外一-洛谷题单-顺序结构详解
洛谷题单——顺序结构详解P1001 A+B ProblemP1000 超级玛丽游戏P5703 【深基2.例5】苹果采购P5704 【深基2.例6】字母转换P5705 【深基2.例7】数字反转P5706 【深基2.例8】再分肥宅水P1425 小鱼的游泳时间P2433 【深基1-2】小学数学 N 合一P5708 【深基2.习2】三角形面积P1421 小玉买文具P5709 【深基2.习6】Apples PrologueP2181 对角线P1001 A+B Problem#include<cstdio&g
2020-10-10 11:02:52
543
原创 一位高中竞赛蒟蒻的大学C++学习日记-第三篇-数组、字符、字符串
数组、字符、字符串前言数组什么是数组前言在之前的学习中,我们初步知晓了如何去定义一个整数型的变量,但是,当我们需要的变量数目增加时,单个的定义就已经不能满足我们的开发了,这时,就需要使用数组来直接划分一块连续的内存区域来方便我们储存数据数组什么是数组数组可以存储一个固定大小的相同类型元素的顺序集合你可以将我们C++中所有的数据类型比作房子的户型,而单个的变量就像独立小别墅,只能容纳一个户型。而数组就如同现代电梯公寓,在同一栋楼中,可以容纳多个相同的户型。而我们对数组中单个元素的访问,就相当于我们
2020-10-09 18:43:36
564
原创 一位高中竞赛蒟蒻的大学C++学习日记-第二篇-程序三大基本结构
程序三大基本结构前言顺序分支if...else...结构else if()语句switch()语句循环while()do...while()for( ; ; )蛇皮走位的goto()前言顺序、选择、分支是C++程序的三大基本结构,这三种结构的互相嵌套,可以使得我们的代码实现多种多样的功能,所以,对这三种结构的深入了解,是我们学习C++编程的重要一环顺序顺序结构是最简单的程序结构,也是最常用的程序结构,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行每一个语句我们借用上一
2020-10-08 12:07:19
451
原创 一位高中竞赛蒟蒻的大学C++学习日记-第一篇-基本输入输出
第一篇 基本输入输出前言人生的第一个程序前言哪有那么多废话,直接开冲IDE之类的网上随便一搜一大堆,但我这里还是推荐大家使用DevC++或VS Code人生的第一个程序相信无数的同学和我一样,HelloWorld都是人生中写的第一个真正属于自己的程序,但是在这短短的几行代码中,作为初学者的我们仍然可以发掘其中的精美之处#include<cstdio>using namespace std;int main(){ printf("Hello World!"); return
2020-10-07 23:17:13
575
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人