自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【爬虫】Selenium WebDriver 下载与安装

1、 下载地址:https://chromedriver.chromium.org/downloads根据谷歌浏览器的版本选择地址,一定要选择对应的版本,选择错误无法运行程序。如果找不到对应的版本,可以把谷歌浏览器更新到最新的版本,然后下载页面第一个程序(最新)2、 安装步骤①将下载到的文件解压,应当只有一个EXE文件②将该文件拷贝一份放到谷歌浏览器目录下,找到快捷方式【打开所在目录】即可③将该文件再拷贝一份放到Python编译器目录下如图2所示。图1 将文件放到谷歌浏览器目录下图2 将文

2021-06-26 19:05:42 1908 1

原创 力扣春季编程大赛(LCCUP‘21)

BACKGROUND本来是要参加团队赛的,我顺手把个人赛也报上了。FINALLY排名:469 / 9932好菜。。。五题做了三题。说是有企业内推然而并不知道如何操作hh或许我应该先去写个简历。PROBLEM1. 采购方案题目描述小力将 N 个零件的报价存于数组 nums。小力预算为 target,假定小力仅购买两个零件,要求购买零件的花费不超过预算,请问他有多少种采购方案。注意:答案需要以 1e9 + 7 (1000000007) 为底取模,如:计算初始结果为:1000000008,请

2021-04-05 19:01:54 607

原创 HDU 6917 Shorten the array(构造)

题目地址原题DescriptionAlice has an array a. The array has N positive numbers. She thinks the array is too long, so she wants to shorten the array. She decides to shorten the array via the following operation: every time she will choose an index i (1≤i<n)

2021-04-03 13:01:54 547

原创 HDU2303 The Embarrassed Cryptographer

题目大意要求给定一个数(而且这个数能被分解成两个质数的乘积)的小的那个因子。如果该因子严格小于给定的数字L,那么就说明这个密码很弱(BAD),否则就说这个密码是好的(GOOD)思路概要 & 算法分析先用线性筛搞出1e61e61e6内所有的质数,根据nln(n)\frac{n}{ln(n)}ln(n)n​估算素数大约有750007500075000个,然后进行大数取模,使用秦九昭算法时间复杂度O(位数),因为位数最大为100,所以判断一个数XXX是否有YYY内的质因数的时间复杂度就是O(lg⁡x

2021-03-20 13:26:57 124

原创 最短路径dijkstra(链式前向星 + 堆优化线段树优化)

模板链接某谷堆优化#include <iostream>#include <string.h>#include <vector>#include <queue>//#include <pair>using namespace std;int n, m, s;const int N = 4e5 + 10;const int INF = 0x3f3f3f3f;int e[N], ne[N], w[N], idx, h[N];

2021-03-19 20:36:00 147

原创 OJ上使用freopen的办法

众所周知,本地调试代码每次粘贴样例非常麻烦,因此我们可以使用freopenfreopenfreopen大法重定向输入输出,大多数时候都会用上重定向输入:freopen("in.txt", "r", stdin);然后你就能够把数据放到in.txtin.txtin.txt里面,输入会每次去这里面读。这个操作有两个好处:1. 不用自己频繁输入相同的样例,尤其是CV上交后,粘贴板发生变化的情况。2. 输入和输出达到分离,更容易发现问题所在当然这都是为了节省时间。但是我们会发现一个bug,就是每次上交

2021-03-15 14:01:11 620

原创 #3.13 关于赛场上做题策略的记录

我觉得在程序设计比赛中最重要的就是团队合作对于一个比较而言 他最主要的或者说最首先的就是【这是个团队比赛】,要是想单纯依靠队友去得到更高层次的东西 这是非常不切实际并且不靠谱的事情。在比赛中会有非常非常多的意外情况发生当然 这就意味着我们需要更多的经验多参加比赛多积累经验 对以后的比赛生涯大有益处。有很多问题在平时自己做题的时候根本不会发现或者说不会注意到 但是在考场上就很容易就犯各种各样的问题,甚至很多时候我们在考场上学到很多东西(实际上这也不靠谱,在我进行一些我没有准备过的期末考试的时候我在考场上学到

2021-03-14 00:36:06 90 2

原创 #2021.2.26 关于算法的胡思乱想

在洛谷里线段树是普及 但是平衡树却是提高加,平衡树甚至在很多数据结构的教材里都有介绍 并且实现,甚至工作面试竟都需要问平衡树!比如BST和AVL,因为原先的二叉搜索树在数据有序情况下会退化成链,所以说需要一种减少树高度的手段,才有了后面各种莫名其妙的树,当然红黑树还是最离谱的存在。平衡树的思想确实比线段树要复杂些,代码也要多很多,虽然一下从普及到提高+/省选也是比较神奇。值得注意的是,可持久化线段树模板也是提高+难度的,说明主席树的思想和难度应当和平衡树是同阶的,毕竟都是树hh。还有一个有趣的点,平衡树的种

2021-03-09 00:14:43 129

原创 2.10 #半个月回顾

Part 1 #前言在我看来很多短线指标在长线看来都容易失去他原本的意义,就像我半个月前发的博客,那天只用了一个多小时手机,全天占比8%,我使用手机一般是用来社交和看帖子查资料,现在回头再来看还是比较...

2021-03-06 01:13:52 91

原创 新一轮计划开始的第一天——2020/1/24

  Part 1 我很想能够产出些东西,生活上,亦或是算法上和学术上的产出,学校的计科培养方案出去主要是做前后端,虽然我有点感兴趣,但实际上并不是很感冒。  Part 2 甚至有点感觉大学生涯已经一眼望到头了,或已经把大部分事情都经历过了,但是经历得越多越发觉得还需要做得更多才行。  Part 3 在被告知可能要自学运筹学、矩阵论、信号与系统、STM32 balabala…感觉还是挺麻烦,最近也时常能够想起考图形学的前一天,花10小时去自学,和以前摸鱼复习状态不一样,虽然10小时的确不长,但是能够感觉到

2021-01-24 22:34:43 100

原创 Python实现Arnold图像置乱算法

简介Arnold置乱俗称猫脸变换,因为最开始用的demo图是一张猫脸。这个算法可以让一张图片从有序变成无序,逆变换可以让他从无序变成有序(合法情况下),同时他还具有一定的周期性,一直正向变化也可以从有序->无序->有序,但由于加密密钥方式很多,置乱的周期也可能不一样,因此选择一个合适的密钥能够使得攻击者花费很多时间也无法破解,增加破解成本。基本原理类似于传统的图像变换(平移缩放等),他是一个矩阵相乘的方法[x′y′]=[1abab+1]∗[xy]mod N\begin{ga

2020-11-23 00:23:50 6996 13

原创 C++ ACM算法调用Map时间过长问题

引言本机带Map预处理跑一发要用半分钟,交上去400ms。分析仅仅是100w次复制居然要我12.2秒,震惊!后来发现是debug和release模式的区别我们可以在调试的时候用debug模式,在对拍的时候用release模式。如图,修改成release后,时间就变成0.16秒。...

2020-10-22 20:51:13 285

原创 2020浙江省赛(ZJCPC)赛后总结

引言  2020注定是特殊的一年,其时间线受疫情影响,本该在上半年举办的活动全部放到了下半年(虽然能够在2020结束前能够举办已经很感谢主办方),然后10.17就在线上参加了2020浙江省大学生程序设计大赛,得益于参加过计量大学的模拟赛以及省赛的模拟赛,我们用起OMS系统倒是毫无障碍。把学生证拿好然后就打比赛了,全程监考老师倒也没怎么打扰我们,没有我赛前想象得那么严苛。Part 1  十一点二十,申请了OMS系统登陆,然后很快就通过了。按照比赛规则,登陆成功之后就不能到处乱动之类,所以三个人就坐在位置

2020-10-19 09:33:12 1561 1

原创 计量大学 A A Party for You Started

A A Party for You StartedWelcome to the grand party for CJLUACMerCJLUACMerCJLUACMer, we are glad about your arrival. Before starting, please remind that the difficulty of all the problems is absolutely not relevant to its order of permutation, so please c

2020-09-28 09:16:31 249

原创 计量大学 H Happy Time is Always Short

H Happy Time is Always ShortThe happy time is always short. The party comes to an end, and the security guard GYQGYQGYQ can finally rest for a while. He was so miserable in the beginning that he didn't have the energy to complete the final task seriously.

2020-09-28 09:10:33 329

原创 计量大学 K1 Known-Well Palindrome Date - Easy Version

K1 Known-Well Palindrome Date - Easy VersionAs time flies by, the composition of our society is always changing. Where the post-1980s and post-1990s generations were almost considered as the era of the past, the reverse is true for the post-1995 and post

2020-09-28 09:07:02 289

原创 计量大学 D Dessert Time

D Dessert TimeThe party began, the greasy uncle was playing cards, the fat otaku was eating, and the little beauty was drawing.Because there were too many steaks just grilled, ZJHZJHZJH found that he could not finish it, so he gave some of it to others.

2020-09-28 09:03:37 243 1

原创 计量大学 C Cook Steak

C Cook SteakAfter playing cards for a while, ZJHZJHZJH felt very hungry. He decided to let the automatic kitchen grill steak for him. It can make the kitchen quite busy, because ZJHZJHZJH tastes food very strictly, especially steak!To grilling a steak, Z

2020-09-28 08:44:28 271 1

原创 计量大学 I Isolated Pointset

I Isolated PointsetOn a two-dimensional plane, YHH has a series of isolated points named PointSet, which contains N points in it. YHH would like to know if there is a way to draw a vertical bisector from any two points in the PointSet, passing through at

2020-09-28 08:39:12 120

原创 计量大学 F Flag Scramble Competition

F Flag Scramble CompetitionThe party began, the greasy uncle was playing cards, the fat otaku was eating, and the little beauty was drawing.At the party, people will play a game called Flag Scramble. The rule of this game is that the host speaks a senten

2020-09-28 08:36:02 120

原创 CodeForces A - Omkar and Password(构造)

题目 链接题目大意两个相邻的数字之间可以合并成他们的和,与此同时序列的数量就会减少一个。问:最少的数量是多少个。简析很明显最少是1个,然后当整个序列不全是相同数的时候,一定可以合并成一种同样序列不完全相同但是个数少一个的情况 (一眼看出来的参考代码#include <bits/stdc++.h>using namespace std;const int N = 200010;int main() { freopen("in.txt", "r", stdin); int t;

2020-09-15 17:05:24 69

原创 入坑LaTex

惊鸿一瞥,好像发现了一个新世界惊鸿一瞥,好像发现了一个新世界惊鸿一瞥,好像发现了一个新世界LaTexLaTexLaTex写出来的东西好好看呜呜呜,差点被感动到了,尽管我现在还只会最简单的公式T_T以前看到的时候感觉写个公式要打那么多代码好复杂,不如直接用WordWordWord插入来的方便,现在看来只是学习成本稍微高点罢了,然后可以获得更高的上限hhh就跟我当时学安卓的时候开始用的是界面拖拽的,后来也是用代码去新建组。期待有一天我能够用它写出自己的论文。...

2020-09-09 09:41:04 132 1

原创 CodeForces A - Ahahahahahahahaha(构造)

题目 链接题目大意给一个只有0和1的具有偶数个元素的序列,从中删去最多 n2\frac{n}{2}2n​ 个元素,然后使得奇数位置上的元素总和和偶数位置上的元素总和相同。题目简析脑洞,只要最后序列只留下1或者0即可满足条件。为了简化过程我把1的个数记作aaa,把0的个数记作bbb。有以下几种情况。0的个数要大于1的个数那么说明1的个数就少于n2\frac{n}{2}2n​个,删去全部的1,剩下的0满足条件。1的个数要大于0的个数因为序列是偶数的原因,所以当a>ba > ba

2020-09-09 09:35:07 142

原创 日记——返校记

啊哈,我又回到学校了,虽然就在家呆了半个月多。不过家里的确不是个学习的地方,还是在学校学习靠谱,身边有数学/物理老师就感觉很有学习的氛围(在数学老师边上学习数学很有灵感hh。这一段时间就感觉自己一些学科的基础还相对不好,很多理论知识和代码应当以背出为第一步,背都没背出就想去理解,总觉得奇怪。记忆 + 大量练习 = 掌握接下来会用大量时间去背一些基础的东西。再辅助以大量的练习,准备主要学习数学!!!嗯,不过上面说的都是课内的东西,也有一部分的课余时间供分配。需要找些爱好,陶冶一下情操,不然心态容易

2020-09-07 16:20:53 91

原创 CodeForces A - Distance and Axis(数学)

题目 链接题目大意给定一个数字x然后要找到一个y满足:|y - |y - x|| = k,然后x每一次可以向左或者向右移动一步,问至少多少步可以找到满足要求的y,然后不存在负数(数轴是0-x)。简析分情况讨论即可。x <= k这种情况只能一直移动到k,即答案为k - xx > k这种情况有两种可能,一是当前状态就是合法的,只要满足x - k 是偶数,那么y就是(x - k) / 2,否则把x向右移动一格也能变成合法,所以答案就是0或者1,最开始合法就是0了;时间复杂度分析

2020-08-27 09:38:45 132 1

原创 CodeForces C - Boboniu and Bit Operations(思维)

题目 链接题意给出两个a,b序列,为每一个a[i]选一个b[j]得到他们的按位与(即a[i]&b[j]),把这些所有的结果按位或,求最小值。简析因为n,m都不大于200,可以先读入然后把每个组合的按位与求出来,就能够得到一个nm的矩阵,记录着每个按位与。然后问题就转化为,对于一个nm的矩阵,每行选一个数字出来,这n个数字的按位或最小。要从答案出发!因为每个数字都不大于29,所以直接遍历答案从0 ~ 29,然后找出第一个合法的就是最小的答案。判断合法的过程如下,对于一个想要判断状态的x

2020-08-26 13:35:25 114

原创 CodeForces B - Boboniu Plays Chess(构造)

题目 链接题意给定一个n*m 的棋盘,然后给定一个初始位置,棋子自动的方式跟象棋里的车一样,然后要求一种方案,使得每个点只落脚一次。简析简单构造,只要输出合法方案就行,那么我就让他先用最多两步移动到左上角,然后一格一格移动,如果是第二行那就从右向左,有可能会遇到之前走过的点,那么直接跳过。参考代码#include<bits/stdc++.h>using namespace std;typedef long long ll;const int MOD = 1e9 + 7;con

2020-08-25 22:36:48 166

原创 CodeForces A - Boboniu Likes to Color Balls(思维)

题目 链接题意给定四个数字,然后可以让前三个数字同时减一并且让第四个数字+3,问有无可能四个数是回文串(相对于字符串个数而言)。简析如果有四个字母,判断回文串就是判断他们的奇偶性,4个数中要保证出现0个或1个奇数,都是能构造成成功的。0个奇数说明都是偶数,直接对半左边右边各一半,1个奇数把奇数放在中间,其他对半放。然后2 3 4都是不合法的(因为构造不出。。。)然后分前三个给第四个的过程就是奇偶互换的过程,如果开始有4个奇数,这是不合法的,当能过分过去的时候,就会变成0个奇数,然后如果还能分就是又

2020-08-25 21:52:33 97

原创 CodeForces C - Cyclic Permutations(组合数学)

题目 链接题目大意给定一个n,表示一个序列的长度,这个序列必须是1~n排列组合的某个序列。然后求对于一个n而言有几个序列是好的。分析题意可以发现,一个序列存在谷表示序列是好的。即序列存在X + a,X,X + b (a,b > 0),那么这本身就可以构成一个环,满足题意。由于答案可能很大要对1e9 + 7取模。简析首先打表 (手写 找规律,可以得到前几项。n = 1时,ans = 0n = 2时,ans = 0n = 3时,ans = 2n = 4时,ans = 16然后我们看看3的

2020-08-25 21:23:30 190

原创 Codeforces B - Fix You

题目 链接题目大意有一个传送带矩阵(n * m),每个格子有两个方向运输物品(向右或者向下),希望物品全部都到{n,m}的位置,就是说不要让东西掉下去。我们可以任意修改某个格子的运输方向,问最少需要修改几个。简析构造,只要最后一列没有向右的传送以及最后一行没有向下的传送即为合法状态。参考代码#include<bits/stdc++.h>using namespace std;const int N = 110;string a[N];int main() { // freo

2020-08-23 11:42:57 126

原创 Codeforces A - Suborrays

题目 链接题意构造一个1~n的某个排列,然后从ai到aj的按位或需要大于等于j - i + 1。简析思考一分钟发现构造不出不合法的序列,果断交一发任意构造,A过。原因就是在于每个数字是不重复的,因此只要高位存在,那么低位来任意多的都能够覆盖到。就算高位相同重复得再多,j - i + 1 也一定不会大于2 ^ n - 1,因此所有序列都是合法得。参考代码#include <bits/stdc++.h>using namespace std;typedef long long ll

2020-08-23 11:08:01 244

原创 枚举某个目录下的文件(循环处理文件)

void getFiles(string path, string file_format, vector<string>& files){ intptr_t hFile = 0;//intptr_t和uintptr_t是什么类型:typedef long int/ typedef unsigned long int struct _finddata_t fileinfo; string p, file_formatName; if (0 != strcmp(file

2020-08-20 14:17:29 182

原创 屏蔽ffmpeg输出命令(不输出多余信息)

找了好多资料。。。因为我是直接调用编译好的文件,但是会输出很多信息,严重影响效率,然后就在找关闭的方法。由于我的程序必须要同步操作,也就是说要先转码好才能后续操作,像是什么输出到文件啦,管道啦似乎都没啥用,,最后发现自带一个参数能够屏蔽(这就是我想要的hhh-loglevel quiet避免造轮子。...

2020-08-18 20:56:50 6829 1

原创 LuoGu P1032 字串变换(BFS)

题目 链接题目大意给出一个原始串和一个终止串,求最少需要转移几步。实际上这就跟走迷宫差不多,而却权重是1的,暴力走就行,加上map优化会快很多,实际上不加的话有可能会T。参考代码#include <bits/stdc++.h>using namespace std;const int N = 2E2 + 10;int n;string a[N];int ans = 0;int main() { // freopen("in.txt", "r", stdin); st

2020-08-18 14:33:32 68

原创 通用的矩阵编码(LSB替换)

hhh如果你找到这篇文章,相信我也不用重新介绍这个东西了,那我就可以直接上代码了。int MatCodeEmbed(int n, vector<int> x, vector<int> a) { // @ n 需要嵌入的数据长度 // @ x 需要嵌入的数据,长度为n // @ a 原先的码元,长度为2^n - 1 vector<bitset<16>> b; for (int i = 0; i < (1 << n) - 1;

2020-08-18 11:05:13 1146

原创 QT学习记——第一个程序(控件认识、函数触发)

首先下载好QT,之后使用QT Creator进行学习。我此前学习过其他的类似的多端界面开发,Windows、Web、Android都有写过,所以重新学一个QT应该不会很难(大概。安装的时候东西尽可能多安装一些,可以对照教程进行安装,个人觉得这份教程还不错,按照他的进度进行学习。主界面提供了很多DEMO,而且很多看起来还挺高级。。。选择QT桌面程序进行开发。参数全部给默认即可。我新建了一个FDemo的项目文件,这是生成后的默认界面。可以看到这是一个类的文件,默认有一个构造函数和析构函数。看起来

2020-08-17 12:37:28 461

原创 Codeforces C - Good Subarrays(前缀和 + Map)

题目 链接题意简析题目给定了一个序列,然后需要求出一个子序列(连续),他们的和等于他们的长度。前缀和暴力枚举自然是T的,这里有一个思路,首先将所有的元素自减1,那么a[i] + a[i + 1] + a[i + 2] + … + a[i + n - 1] = n 就转化成 a[i] - 1 + a[i + 1] - 1 + a[i + 2] - 1 + … + a[i + n - 1] - 1 = 0。这就意味着我们只需要统计字串和为0的方案数即可。我们计算1…n的前缀和,如果当前的sum为零,那

2020-08-16 13:53:02 135

原创 G723音频格式读入内存

音频是用ffmpeg转的,然后用c++把文件从磁盘读到内存按帧存储,每一帧有24字节(192比特)文件头和码流部分是分开的我并不确定每个文件头都一样文件头和帧定义struct WaveFileHead{ char riff_id[4]; //"RIFF" int size0; //波形块的大小 char wave_fmt[8]; //"wave" and "fmt " // 二合一 int size1; //格式块的

2020-08-16 12:21:29 246 1

原创 Codeforces C - Pinkie Pie Eats Patty-cakes(二分答案)

题目 链接题目大意给定一个离散序列,包含n个数字,重排这个序列,使得两个相同数字最小距离最大。题目简析关键词触发,最小的xx最大,我们尝试用二分去求解。首先应当注意到的一个点在于,每个数字之间的性质是相同的,这就意味着“1 1 1 3 3”序列和“2 2 2 3 3”序列答案应当是一样的,所以我们首先读入的时候要统计数字的个数,而不用关心具体的数字是什么,上面的例子就会被简化成“3 2”,也就是说有两个数字,一个数字有3个,一个数字有2个,求答案。二分思路,设置左端点0,右端点n,找到最后一个符

2020-08-13 19:51:13 369

原创 Codeforces D - Binary String To Subsequences(思维 + 数据结构)

题目 链接题目大意给定一个字符串,然后找到最少的字串构造方案,满足所有字串都是“0101…”或者“1010…”,如果有多个答案输出其中一个序列即可。数据给了1e5,意味着要在Onlogn或者On的时间完成。每个数字都能够匹配与自己不同的最近的一个数字,但是只能用一次,例如“10011”中,显然s[2] = ‘0’ 不能跟s[0] 去匹配,因为已经被s[1]匹配过了,这就意味着,我们只要保存两个序列,用队列去模拟这个过程。还是用“10011” 举例子,初始化t = 1第一回合x = 1(s[0

2020-08-07 19:50:24 149

空空如也

空空如也

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

TA关注的人

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