自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

虚境的博客

跨专业转码成功,CS研究生在读。

  • 博客(57)
  • 收藏
  • 关注

原创 使用VScode编写爬取网页代码,无论如何更换编码均为乱码

捣鼓了很久之后发现原因很简单,因为VSCode默认用utf-8打开文件。所以GB2312等格式的网页爬下来、以GB2312格式保存,然后被VSCode用utf-8打开当然会显示乱码。理论上来说,爬取网页只需读取网页的编码,然后读入、保存,不应该有乱码问题。然而我多次尝试仍然失败。建议遇到同样情况的改用记事本之类的打开文件看看是不是正常的。

2023-08-03 13:53:50 241

原创 在WPF中使用SVG矢量图

WPF原生并不支持svg矢量图。但是WPF原生的画形状工具的使用方式与SVG非常相似。以该图片为例:这个图片的形状是这样的:在这段svg代码里面,主体的就是那一段特别长的path标签,它包含的4段“M”开头的数据分别定义了这四个方块。而在WPF中,有着用法完全相同的path标签。所以用法也很简单,只要在WPF中创建一段标签,并将这段数据作为“data”的参数填入,就像这样:但是,这种方法有一个问题:这段svg代码的对应图形如下:可以很明显的发现,这段代码和上一个相比,增加了Line、

2021-08-03 15:12:42 6698

原创 unity universal media player 中文路径下找不到dll库问题

unity universal media player 中文路径下找不到dll库问题最近做unity,为了播rtsp流用到了universal media player,然后发现这玩意儿事是真的多,不愧是2年前就没人维护了的东西。言归正传,众所周知把软件放在中文路径下是很容易导致运行错误的,又众所周知你是很难让你的用户在找你大喊“我的程序为什么打不开了”之前明白这一点的。既然都2021年了,咱还是尝试着用技术手段解决一下吧。unity本身其实是支持中文路径的,它是用utf-8编码的。但是univer

2021-07-09 16:03:48 1367 2

原创 Unity迷惑踩坑实录

Unity迷惑踩坑实录记录一些做Unity踩的坑。不是那种技术层面的,技术层面知道缺啥网上都能找到(而且记录起来麻烦hhh),这边用来记而是那种死活找不到头绪最后发现“还能在这种地方犯这种错误?”的东西。①允许重名导致的问题。Unity是允许元素重名的。这不会影响在编辑界面的任何操作,如果用拖拽把一个元素绑定到某个脚本的GameObject变量输入里,你会很理所当然的认为这是一个确定的联系。甚至于你修改这个元素的名字时,你会发现脚本的输入那边的名字也相应变动了。绑定的很好嘛。——然而一旦把脚本运行

2021-05-13 18:57:22 446

原创 在python代码中调用vba宏的四种方法

在python代码中调用vba宏工作以python为主体,但是遇到了一些word操作的需求(详见上一篇),这个需求用word自带的功能会很容易实现,于是就想着能不能用python调用宏来处理。网上找了一圈,发现了一大堆方法(因为一个个都在我那诡异的工作环境下全失败了所以真的找了很多),给各位罗列一下。①直接调用。win32com库。...

2021-04-25 10:27:50 9519 5

原创 使用vba宏/python代码更新word目录——只更新页码

使用vba代码/python更新word目录——只更新页码工作中出现了如题的需求。实际上这个操作人工的话只需要右键区域→更新域→选择只更新页码然后确定就行了。不过工作需求就是得用代码去完成以上事情。这个问题的主体部分就是找到相关的代码……实际上关于这一点网上已有不少教程,比如这一篇就实际上作为原型让我写出了我实际使用的代码:Sub UpdateContent() Dim i As Integer i=0 Dim aStory As Range Dim aField As Field

2021-04-23 18:47:27 2919

原创 在命令行中使用中文(转)

在命令行中使用中文(转)在工作中用到了python启动命令行程序的情况,然后传了个中文参数进去,报错。跑到命令行那儿一看,传进去的文字变成中文乱码了。于是上网找了个方法。原文:http://www.walkernews.net/2013/05/19/how-to-get-windows-command-prompt-displays-chinese-characters/实际操作:进控制面板(不是设置,是控制面板,找不到建议直接cortana),区域→管理(上方选项卡)→更改系统区域设置。这个链接里

2021-04-19 13:54:57 600

原创 ROS 中的三种坐标系(map、odom与base_link)

在网上看了一些大佬的解释,还是感觉有点迷糊,多看了几次之后感觉好像get到了,如果说错了还请指正。其实map和base_link都很好理解,一个是绝对坐标系,另一个是以机器人自身为原点的坐标系,很容易懂。唯一麻烦的就是odam,里程计坐标系。下面就以我的拙见尝试小白化地解释一下这个玩意儿。首先,我们制定机器人路径时,使用的必然是绝对坐标系——...

2020-05-09 16:06:47 9130 13

原创 PAT A 甲级 1068 Find More Coins (30分)

1068 Find More Coins (30分)杂谈今天才意识到,莫非Eva这个角色是neta《WALL·E》(《瓦力》)那个?思路首先提一嘴,我的算法是“略微聪明的枚举”,不是这道题实际考查的动态规划、背包问题。因为看了那个m<=100以及这个怎么看都只要直接返回枚举找到的第一个答案的情况……感觉没必要。然后……就枚举嘛。递归+循环枚举。看上去很复杂度很高,实际用时都在1...

2020-03-01 23:35:08 204

原创 PAT A 甲级 1067 Sort with Swap(0, i) (25分)

1067 Sort with Swap(0, i) (25分)杂谈对4错2后花了很多时间debug结果发现其实问题在一个低级错误。好气。思路首先得搞懂要得到最小值该怎么操作。正确的操作方式是:①如果0不在0位,那把它和该在它现在在的位置的数交换。这个操作每次能且只能让一个0以外的数归位。②这样操作一定次数之后,0必然会回到0位。③此时,如果还有数没有归位,那么0寻找一个没有被归位的...

2020-03-01 22:01:10 156

原创 PAT A 甲级 1065 A+B and C (64bit) (20分)

1065 A+B and C (64bit) (20分)思路这道题的难点并不只是相加可能导致数据数据溢出。更重要的是,提供的输入范围里,263根本就不在long long的范围内。long long的范围是到263-1。也就是说,从保存输入这一步开始,就已经只能用string类型了。但是和C++不同,python3的int是无上限的(微笑)。当然啦,C++也是可以做这道题的,只不过大概得...

2020-02-29 21:20:39 156

原创 PAT A 甲级 1011 World Cup Betting (20分)

1011 World Cup Betting (20分)杂谈又是看题时间和做题时间差不多长的题目。题意三场比赛,每场三种结果,每种一个赔率,找出每场最大的,以(abc*65%-1)*2求出结果。思路不思路了。题意和怎么做根本一个意思。代码#include<iostream>using namespace std;int main(){ double o = ...

2020-02-28 22:19:19 231

原创 PAT A 甲级 1064 Complete Binary Search Tree (30分)

1064 Complete Binary Search Tree (30分)杂谈二叉树日常炸脑子。说实话,完全二叉搜索树也许是最容易建立的搜索树了——因为它对于一个数字集合而言是唯一的。对于一个有序序列,完全可以通过计算直接确定一个节点的子节点。但需要人动脑子的“计算“就是最麻烦的了。思路如上所述,将所有输入数字排序,然后通过计算得出这颗树。对于一个有序序列,假定其数字总数为X,且假...

2020-02-28 21:48:59 109

原创 PAT A 甲级 1063 Set Similarity (25分)

1063 Set Similarity (25分)吐槽我很怀疑这题没有别的解法了。感觉即使动了脑子最多也就“完成了STL内程序干的事”。虽然N<=50让我想到了用一个东西保存所有set对某一个数的有/没有的解法——实际操作起来大概还挺麻烦的。我做到了。思路思路1:unordered_set使用教程。用unordered_set保存,计算重合度时建立新的unordered_set...

2020-02-28 20:38:51 192

原创 PAT A 甲级 1062 Talent and Virtue (25分)

1062 Talent and Virtue (25分)吐槽又是个描述看半天的题目。以及题面中居然出现了中文了!说起来我一开始还纠结了一会儿是不是错把司马迁打成司马光了,结果司马光还真是史学家,甚至是《资治通鉴》的主编……我就记得他和王安石扯皮了。思路直接搞四个vector,保存不同的人,然后都sort一次。也没啥好多说的。当然cin和cout要改scanf和printf不然会超时。...

2020-02-26 23:02:46 136

原创 PAT A 甲级 1061 Dating (20分)

1061 Dating (20分)吐槽怎么会有这么从各种意义上都糟糕透顶了的题目的?????不仅题面又臭又长又难懂而且条件描写模糊不清或者起码让人不敢确定甚至题目内容还充满了不得不大量if+switch七个case的情况而其本质却是个毫无难度、没有上面这堆鬼情况一分钟就能写完的比对字符串内字母?我人傻了。思路这道题……本质是个字符比对。我不特别确定它的题意(指具体是什么样的比对...

2020-02-26 21:45:22 185

原创 PAT A 甲级 1059 Prime Factors (25分)

1059 Prime Factors (25分)吐槽你的题目叫我把它分解成质数!质数因子!为啥里面会有个1=1啦?前几道题刚告诉过我1不是质数啊喂!思路这道题其实不需要找出所有质数因子。只要从小到大每找到一个因数就除一下就行,得到的必然都是质数。当你把所有3都除去之后,得到的数必然不是3的倍数的倍数了,所以没关系的。注意测点3。这玩意儿是1=1。代码#include<iostr...

2020-02-26 21:02:20 127

原创 PAT A 甲级 1058 A+B in Hogwarts (20分)

1058 A+B in Hogwarts (20分)吐槽完全不记得有这么个货币制度。以及用特殊的方法解特殊的题目描述。没想到吧我也学了python!思路思啥路啊这题做不出的基本告别PAT了。代码(python)lst=input().split()a=lst[0].split('.')b=lst[1].split('.')c=[]for i in range(3): ...

2020-02-26 20:01:10 146

原创 PAT A 甲级 1015 Reversible Primes (20分)

1015 Reversible Primes (20分)吐槽说实话做之前我真不确定0和1是不是质数。以及这道题居然是“以负数输入为结束”而不是一贯的先给个说明之后要输入几次的n!这一点都不PAT!思路没啥好说的。一个判断是不是质数的函数、一个进制转化的部分,都是基础操作。唯一要特别注意的是1和0不是质数。(测点1)而且这句特判必须写在判断的函数里,而不是直接判断输入的n是不是0或1,...

2020-02-25 17:15:32 123

原创 PAT A 甲级 1033 To Fill or Not to Fill (25分)

1033 To Fill or Not to Fill (25分)吐槽花了好一会儿才反应过来tank是油箱不是坦克。还以为又battle over cities了。然后这题目很憨。这测点更憨。当然最憨的还是花了这么久才解决这道题的我。思路首先到不了的那种情况,很好处理,只要从距离0的站开始第一次发现两相邻站距离大于满油就输出该站距离+满油箱可走长度即可(测点2坑警告,见之后测点部分)。...

2020-02-24 23:16:37 155

原创 PAT A 甲级 1032 Sharing (25分)

1032 Sharing (25分)吐槽你值25分?(困惑)思路5位地址,话不多说直接100000大小数组走起。然后输入完之后从两个头节点分别跑一次,第一次把跑到的点全部标记,第二次跑到标记点就输出即可。代码#include<iostream>using namespace std;struct { bool used = false; int next = ...

2020-02-24 20:17:49 132

原创 PAT A 甲级 1057 Stack (30分)

1057 Stack (30分)吐槽……这题让我找回了刚开始练pat、STL都还不会用的阶段——总是报各种各样的错误而完全没有修改的头绪。思路先提一嘴scanf的事。这道题其实用cin时间也是够的,只不过会从50ms左右变成200+。总之不是必需。然后是主干。这道题非常容易超时。非常。如果真的用vector保存数字,然后每次找中位数时都真的去找一下,又或者用两种sort方式分别处理p...

2020-02-22 23:43:54 212

原创 PAT A 甲级 1056 Mice and Rice (25分)

1056 Mice and Rice (25分)题意重点就是第三行。以示例为例,第三行的内容分析一下是“ID6号、0号、8号分别在第1、2、3位,他们三位在第一局中互相对决”。思路用了两个保存指针的vetor,方便一边削减vector内容(也就是模拟淘汰)一边记录名次。然后就是模拟淘汰赛——每只鼠和当前同组最重鼠比较,留下胜者并给败者赋rank、erase败者,重复这个操作到只剩一只鼠。...

2020-02-22 20:57:49 168

原创 PAT A 甲级 1055 The World's Richest (25分)

1055 The World’s Richest (25分)吐槽又是试了两种办法。然后才知道为啥有两个超时测点。我这两个方法擅长的测点正好不同。思路试了两种办法,一个测点1概率过测点2必过,另一个测点1必过测点2一直不过。前者是一次排序,然后每次遍历所有人找出相应数量的符合年龄大小的人。后者是先将所有人按年龄排序,然后每次找出那个年龄区间内的人(它们是相邻的),按worth排序/放进新...

2020-02-22 20:15:54 176

原创 PAT A 甲级 1054 The Dominant Color (20分)

1054 The Dominant Color (20分)吐槽说实话,我确信我的这个算法不能真正完美解决这个问题。我能简单地想到一个会导致它失效的极端数据。但是题目通过了。果然没有过分到使用那种情况(点头)。(但是我还是回头去搞出了这道题的完美算法hhhhh)以及果然cin改scanf是保留项目。思路看到题目的那一刻就明白肯定是个用时极限的题目。即使我认定自己的方法已经大幅缩减了题干用...

2020-02-22 19:00:42 125

原创 PAT A 甲级 1052 Linked List Sorting (25分)

1052 Linked List Sorting (25分)吐槽我最怕的就是用时极限的题目。不仅难想,而且凡改必大改,极度耗时。思路本题的主干部分非常简单,就是个排序。重点是超时问题以及大量没有明说的测点问题。先说明测点问题,因为超时问题中有一部分是测点导致的。首先,仅从题目来看,input中的“next”似乎是没用的——反正后面也要按key重新排序。然而实际上,这是有用的——有些数据...

2020-02-21 23:16:27 140

原创 PAT A 甲级 1053 Path of Equal Weight (30分)

1053 Path of Equal Weight (30分)吐槽这什么莫名其妙的输出排序要求啊喂!我实现这个排序的用时比完成题目主干内容还长……题意有一棵树,每个节点有重量(或者其实是“权值”?),从根到一个叶称作一条路径,路径的重量为路径上各节点重量之和,求所有重量为要求值的路径并将他们按同层节点重量的从大到小排列思路其实感觉题目没什么难度啊。因为每条路径是从根到叶,而每个节点的父...

2020-02-21 21:59:29 243

原创 PAT A 甲级 1051 Pop Sequence (25分)

1051 Pop Sequence (25分)思路本质上来说,数字push进栈的先后顺序必然是从1到N,区别在于这个过程中哪些位置插入了pop操作——而这个操作的时机是可以由得到的pop序列反推出的。所以,只要用给的这个序列尝试反推操作就可以了。先向一个空栈中push一个1,当输入一个数时,将它与栈顶比较:如果栈顶与之相同,则pop栈顶并处理下一个输入数如果栈顶与之不同,意味着此时还...

2020-02-21 20:58:55 209

原创 PAT A 甲级 1050 String Subtraction (20分)

1050 String Subtraction (20分)思路这题也没什么好说的,用getline和find就能简单解决问题了。虽然我对于string有insert却没有remove还是蛮困惑的。顺带一提测点2的s2里面似乎有大量非字母字符,其中包括空格。代码#include<iostream>#include<string>using namespace ...

2020-02-13 17:39:08 111

原创 PAT A 甲级 1049 Counting Ones (30分)

1049 Counting Ones (30分)思路完全的数学题。看到N的取值的那刻我就放弃用枚举手段了,所以也没有验证会不会超时。大概是会的,不然这题也太没难度了。言归正传。这道题的重点是找到一个计算方法。方法正确的话,步数会下降到可以人类手算的程度——换句话说就是可以忽略不计(迫真奥数题)。那么,怎么统计呢?作为举例,假设这个数是9位数,也就是xab cde fgh。很显然,对于...

2020-02-12 16:24:06 177

原创 PAT A 甲级 1048 Find Coins (25分)

1048 Find Coins (25分)吐槽从头文件里强行摸出了自己没背住的结构名字。还行还行。思路看上去有超时风险。大概吧。总之我用的是set。自排序+find函数,简直不能更适合。注意:测点2中出现了所求结果是两个同值的硬币的情况。由于set不保存重复数字,所以需要用multiset。同时,find函数只能找到第一个所求解,所幸排序了之后如果有同值硬币,那所find的位置的下一...

2020-02-08 17:09:25 277

原创 PAT A 甲级 1047 Student List for Course (25分)

1047 Student List for Course (25分)吐槽初见:哎呀小老弟?你看起来有点眼熟啊?是不是有个兄弟叫1039啊?你好像看起来还不如他嘛?写完:嗯,果然不如嘛。提交:测点3超时?稍作修改后提交:测点3内存超限?????小老弟你不对劲啊!思路讲真题目思路没啥好说的,重点在于鬼畜的用时和内存。我一开始用的自增队列保存一个课程中的学生名字,超时后觉得可以在对学生...

2020-02-08 16:41:48 213 1

原创 PAT A 甲级 1046 Shortest Distance (20分)

1046 Shortest Distance (20分)吐槽看题目第一眼以为是图论,下一秒又想到20分怎么可能是图论。果然不是。几分钟简简单单写完了程序……然后运行超时(微笑)。思路这题的唯一问题是,如果每次都老老实实把两个exit之间的各点长度加起来的话,测点2会报运行超时。解决方法也很简单,一次性累加、保存所有点到点1的距离(从两个方向走的长度都保存下来),之后对任意两点就可以靠...

2020-02-08 15:25:54 179 1

原创 PAT A 甲级 1045 Favorite Color Stripe (30分)

1045 Favorite Color Stripe (30分)吐槽说实话用时极限的题在考试的时候都蛮可怕的。毕竟如果不通过基本得从整个思路上大改。不过这题我的代码最后出来的结果蛮让我惊讶的——实际用时都看不出来这是个用时紧张的题了。思路如前所述,这是个用时极限的题。关键在于找到一个高效的计算方式。让我们把题目换一种说法——有一堆数字(节点),有一些后可以跟上另一些(单向桥梁),问一个纳...

2020-02-06 19:59:16 154

原创 PAT A 甲级 1044 Shopping in Mars (25分)

1044 Shopping in Mars (25分)吐槽怎么又是火星人?你们比小明还事多。思路逻辑蛮简单的,成块找可行的组合就行。用遍历的话,一个循环遍历头,里面套一个循环遍历尾,判断这个头尾能不能行,复杂度O(n2)。然而超时。不过解决方法也还算简单。先找到以1为头的第一个可行组合,然后移到2为头时判断去掉1是否还够大,够则成为新方法,不够则把尾往后移到够大,然后判断和已有的最小支...

2020-02-04 16:35:00 321

原创 PAT A 甲级 1043 Is It a Binary Search Tree (25分)

1043 Is It a Binary Search Tree (25分)吐槽……感觉二叉树是甲级里最难的一类题了……比图论还难。要变通和自己思考逻辑的部分实在太多了。思路首先这道题是“非常规”的,这题不是“这个二叉树是不是搜索树”,而是“这遍历有没有可能是某个搜索树的先序遍历”。正常情况下需要两种遍历才能确立一棵二叉树,但这道题却只给了一种遍历。不过,“二叉搜索树”本身是有条件的,正是...

2020-02-04 15:29:08 182

原创 PAT A 甲级 1042 Shuffling Machine (20分)

1042 Shuffling Machine (20分)吐槽女友的悲鸣:洗牌哪有一次一起洗还定点的啊!它没告诉我我还以为是一张张洗的根本看不明白规律啊!思路唯一可能的纠结点大概就是这洗牌到底怎么洗的吧。例:{4,1,3,5,2,6}第一个数字4的意思是洗完之后洗前的第一张牌洗完后成了第四张牌。代码#include<iostream>#include<string...

2020-02-02 22:56:36 124

原创 PAT A 甲级 1041 Be Unique (20分)

1041 Be Unique (20分)吐槽简单题。没啥多说的,贴代码了事。代码#include<iostream>#include<queue>using namespace std;int main(){ int n; cin >> n; int num[10000]{ 0 }; int i; queue<int> ...

2020-02-02 22:27:10 86

原创 PAT A 甲级 1040 Longest Symmetric String (25分)

1040 Longest Symmetric String (25分)思路、测点没啥好说的,就是把字符串倒一下然后遍历寻找就行。耗时完全够。不过有一点提示一下,回文不能用“原字符串和倒转后字符串中是否有相同的字符串”来检测。那样会使形如123456321的也被认为带有回文。测点3和5都有这一点。然后测点4、5的答案都是“1”。代码#include<iostream>#in...

2020-02-02 21:51:33 295

原创 PAT A 甲级 1039 Course List for Student (25分)

1039 Course List for Student (25分)吐槽PAT编程常识:所有运行时间紧张的题目都要多提交几次碰碰随机数据的运气。思路显然这道题最大问题的就是运行时间非常紧张。最大2500*200条数据要对应到40000个人上,这是无论如何改进都不可能逃脱的操作,使用遍历去完成这件事(不管是在输入时还是中间处理还是输出时)明显是会超时的。也就是说——只能在存储方式上下功夫,...

2020-02-02 21:06:38 219

空空如也

空空如也

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

TA关注的人

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