自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zyh

  • 博客(115)
  • 问答 (17)
  • 收藏
  • 关注

原创 大学两年的一点感想

这是我第100篇博客,对我自己还是很有挺有纪念意义的,就在117实验室写下吧,也要准备离开这个acm实验室了不知不觉,大学已经过了两年,准确地说就快要2年半了,时间真得很快,回想这两年感觉也没做什么就过来了,训练了两年的acm(包括学习c的时间),每天上课学习,搞下社团活动,有时间就去旅游,高考前总是以为大学就背着书包可以时不时就来一场说走就走的旅行,后来才发现作为一名理科生真

2016-12-13 15:02:44 2594

原创 zip()和zip(*) 每隔一段时间使用就会忘记

zip()和zip(*)每隔一段时间使用就会忘记,说白了zip()就是把m个n维向量拼成一个mn的矩阵,zip()会把m*n的矩阵解压维m个n维向量a = [1, 2, 3, 4]b = [5, 6, 7, 8]c = [9, 10, 11, 12]for i in zip(a, b, c): print(i) print(type(i))e = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]for i in zip(*e):

2021-09-26 16:55:55 179

原创 ssh连接服务器中的docker

最近在服务器上的docker配置pytorch环境,即需要通过本地电脑使用ssh连接服务器里的docker的22端口,过程就是先使用ssh连接上服务器,在服务器内进行端口转换。有两种方法,1.在创建docker容器时使用-p 指定端口映射,再配置容器内的ssh-server即可;2.容器创建完后,如果想添加端口转换,可以使用iptables进行添加步骤添加一条规则,将从非 docker0 接...

2019-08-12 19:42:32 1996

原创 pytorch的unsqueeze和unsqueeze_的使用

pytorch的unsqueeze和unsqueeze_的使用,及in_place操作unsqueezeunsqueeze就是用来扩展维度的, 先来看下unsqueeze的参数, torch.unsqueeze(input, dim, out=None), 扩维的范围是[-input.dim() - 1, input.dim() + 1), 如果是传入的dim是负数,那么dim实际数值是dim...

2018-12-19 17:04:22 12717

原创 windows下txt文件导入mysql出现:ERROR 1300 (HY000): Invalid utf8 character string: ''

原因今天在window下用Python3,想把爬虫的数据存入mysql,好像因为字符编码问题死活存不进去,最后没辙了,只能通过写入文件再导入mysql,没想到又出现了字符问题,通过 load data local infile "f:\data.txt into table tra_info(title, img, content); 去导入数据,mysql给出了下列错误 ERROR 130

2017-06-18 18:49:25 7044

原创 C语言输出负数补码

C语言打印出负数补码 最近刚好复习到计组的定点数运算,想着以前写快速幂都是打印出正数的补码,从来没有打印过负数的补码,于是写了几行代码,加深对这方面的理解。要知道的知识数值在计算机表示为补码表示,所以在C语言里负数也是以补码存储的了解算术移位和逻辑移位的区别在第三版的神书CSAPP里面提到 c语言标准并没有明确定义对于有符号数使用哪种类型的右移。不幸地,这就意味着任何假设一种或者另一种右移

2017-06-06 22:35:00 13466

原创 反转链表,关于指针的一点知识和九度oj1518

题意 求反转链表题目链接所犯的错误这道题尽管是道水题,但写程序的时候指针出现了一点错误,导致调了一阵子都不知道哪错了先把代码放上来#include <cstdio>#include <cstring>#include <algorithm>using namespace std;struct ListNode{ int val; ListNode *next;};Lis

2017-03-03 17:27:51 407

原创 操作系统是如何工作的

操作系统是如何工作的张晔华 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000函数调用堆栈 堆栈并不是一开始就有的,计算机没有高级语言的时候,只有机器语言时候,因为汇编可以跳转,没有太多函数的概念,有了高级语言,有了函数,就要借助堆栈了堆栈是c语言程序运行时必须的一个记录调用路径和参数

2017-02-28 20:36:48 1178

原创 计算机是如何工作的

计算机是如何工作的张晔华 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000存储程序计算机工作模型冯诺依曼体系结构就是指存储程序计算机 从硬件上,CPU和内存由总线连接,CPU上有一个寄存器叫IP(Instruction Pointer),64位下叫rip, 可以认为是一个指针,总是指

2017-02-25 20:11:09 1048

原创 关于语义分析的简单总结

关于语义分析的简单总结预备知识编译器的前端是由三个模块和两个核心数据结构(记号流,抽象语法树)组成的,编译器处于一个流水线的结构,阶段无关性(只考虑把每一个模块的输入输出)语义分析只依赖于前一阶段的抽象语法树语义分析也称为类型检查。上下文相关分析。负责检查程序(抽象语法树)的上下文相关的属性: 变量在使用前先声明每个表达式都有何时的类型函数调用和函数的定义一致……………… 举个例子

2016-12-31 15:23:23 11777 1

原创 linux 主要目录概述

Linux主要目录/bin:bin是binary的缩写,这个目录保存了可执行文件,也就是平常敲的命令,比如cd,ls之类的,并且这个目录下的命令所有用户都有权限使用/boot:是一个引导目录,操作系统启动所需文件在这个目录下,同时内核文件也在里面,内核版本可以用uname -r查看/dev:dev是device缩写,保存所有硬件设备,在linux

2016-12-22 17:07:01 551

原创 ubuntu 软件包管理整理 dpkg apt ppa

对于Ubuntu软件的管理,很多东西用的时候总是忘了,所以就自己整理下了。Ununtu软件管理工具主要功能:安装,删除,查询dpkg(Debian Package Management System)deb实现对二进制软件的管理,无法自动解决软件之间的依赖关系,所以要提供一个前端程序apt解决deb包的安装,首先要下载包,是以.deb为后缀的去安装包

2016-12-13 15:01:59 576

原创 进行大数据爬取数据,存入Mongodb

爬虫刚入门,对赶集网进行一次所有商品大数据的爬取使用了多线程,存到数据库里,目前不知道要爬多久from multiprocessing import Poolfrom channel_extract import channelfrom page_parsing import get_item_info, get_linksdef get_a

2016-11-24 17:46:20 2614

原创 第一次爬虫,纪念下

对下面租房网址进行爬虫http://bj.xiaozhu.com/%E5%9C%B0%E9%93%81%E4%B9%9D%E5%8F%B7%E7%BA%BF_lysys-duanzufang-p2-20/?putkey=%E5%9C%B0%E9%93%81%E4%B9%9D%E5%8F%B7%E7%BA%BF首先将两页的所有房子链接取出来:page = []def g

2016-11-04 16:40:25 428

原创 window下python3.5安装lxml

最近安装lxml,pycharm还是在命令行里用pip3都是不行,搞了一个多星期还是不行,最后无意中发现这个网址,在里面搜索ctrl + f 搜索‘lxml’找到对应版本,然后下载http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml

2016-11-03 22:19:20 577

原创 ubuntu引入turtle库时 ImportError: No module named '_tkinter'

在ubuntu下使用turtle库时,出现 ImportError: No module named '_tkinter',我的环境是ubuntu16.04和python3.5,在终端输入sudo apt-get install python3-tk即可解决问题

2016-11-02 14:38:36 8993

原创 关于词法分析的一点总结

学完词法分析,有点乱,稍微整理下整个过程下面我们都是以c语言为例,我们首先明确词法分析要做的是什么,词法分析是将字符流转化为记号流,字符流就是一行行的代码,如if(a > 10), a++, while(true)等等,记号流就是程序员所定义的数据结构,比如说对于if(a > 10)这样一行代码,可以分解成下列的数据结构:struct node {char *s =“IF”};  st

2016-10-28 11:56:58 3671

原创 hdu 1211 RSA算法

题意:给出密文,根据秘钥求解明文RSA算法流程(1)用户秘密选择两个大素数p, q,然后计算出N = pq;(2)用户计算出F_N = (p-1)(q-1),然后随机选择一个整数e,满足1 (3)然后用e和F_N算出脱密秘钥d,ed%F_N==1,d是e mod F_N 的逆元,d是脱密秘钥(4)e, N是公开参数,即公钥,p, q,d严格保密加密:c = E(m)

2016-10-26 15:34:56 549

原创 51nod 1135 原根

题意:给出素数p,求最小的原根复习下原根的定义:一般来说最小的原根会比较小,所以可以从小到大枚举,在数据较小的时候可以这么做只需检查(p - 1)所有的素因子即可,因为若gcd(a, m) == 1,切a ^ g % m == 1,则必有c | d,其中c是最小的是的a ^ c % m成立的正整数。题目链接:http://www.51nod.com/onlineJudg

2016-10-25 15:17:26 374

原创 poj 2184 本原元(原根)的定义

题意:给定一个素数P,求里面有多少个生成元复习下原根的定义,在mod p(p是一个素数)下,根据欧拉定理,尽管每一个g ^ (p-1)% p== 1,但是并不一定是一个生成元,假设一个数对于模来说是原根,那么的结果两两不同,且有,那么可以称为是模的一个原根。而根据欧拉定理,此时g^(p-1)%p必定等于1(这里是素数),而一个素数p有个生成元。G=是n阶循环群,则群G中的元素都是a

2016-10-24 22:55:09 6358 1

原创 hdu 5880 Family View AC自动机

题意:给出一系列的敏感词,如果下面文本以敏感词作为子串,那么输出'*'思路:简单的AC自动机,如果匹配到当前tire节点是叶子,那么它前面路径字符串都要变为'*"比赛时看到没什么人做,也就没看题,没想到这么简单...题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5880#include #include #

2016-09-21 12:09:10 578

原创 hdu 5883 The Best Path 欧拉路径 & 欧拉回路 并查集

题意:给出一个无向图,问是否存在欧拉路(一笔画),问经过最大的顶点异或和思路:这题完全是考察欧拉路的性质,所以先来回顾下欧拉路的性质对于一个图是否存在欧拉路,首先要判断它的连通性,判断连通性可以用并查集或者bfs,dfs,这道题用了并查集对于无向图存在欧拉路径的充要条件是度数为奇数的点的个数有且仅有两个,并且必须从其中一个奇点出发,另一个奇点结束存在欧拉回路的充

2016-09-20 21:23:37 565

原创 hdu 5868 Different Circle Permutation Polya定理 欧拉函数优化

题意:叉姐给出的解释很明白,就是n个点围成一个圈,每个人都可染成黑或者白,任意相邻的两个人不可以染成黑色,并且循环同构,问染色的方案数思路:如果这道题实在弄不懂,可以先按顺序把下面两题AC了http://blog.csdn.net/wyt734933289/article/details/52472495http://blog.csdn.net/wyt734933289/art

2016-09-19 11:13:20 969 2

原创 hdu 5878 I Count Two Three 丑数

题意:求第一个大于等于n的最小丑数思路:就是简单的单纯模拟,然后二分求出来,看了下,按照题目范围应该只有5195个丑数。有个注意的地方,判断等于那里不能写成else if,因为这样会造成大量重复的丑数,直接爆掉题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5878#include #include #inclu

2016-09-17 20:13:42 488

原创 uestc 969 易位法字符串解密

题意:chinese思路:就是按照题意模拟题目链接:http://acm.uestc.edu.cn/#/problem/show/969#include #include #include #include #include using namespace std;const int maxn = 1005;char a[30], s[1005

2016-09-14 23:09:20 1177

原创 poj 3749 破译密码

这学期开始学习密码学,无意中发现实验室里的一本数论书有密码学的专题,然后就开始对着刷,对每一道题尽量都用密码体制分析,希望能让自己的数论和密码学更上一层楼思路:这题自然是超级无敌大水题,密码学里称 c = a * m + b (mod q) 为仿射密码,gcd(a, q) == 1;当a == 1时,c = m + b (mod q) 为加法密码,此时若b == 3,则为凯撒密码;当b

2016-09-14 23:02:33 592

原创 poj 2154 Color Polya定理 欧拉函数优化

题意:有一个长度为n的项链,项链上每颗钻石有n种染色方案,问有多少种方案思路:置换都考虑用Polya定理做,但是会达到o(n)级别,这里n太大,会超时。可以换个思路,一般做法是i从1枚举到n,求每一个gcd(i, n),可以看到一个性质是每一个   gcd(i, n)都是n的约数,而n的约数是有限的,也就是10^9个gcd(i, n)会有大量的重复,那么我们可以枚举每一个约数。例如

2016-09-14 18:35:52 544

原创 hdu 5876 Sparse Graph bfs 链表优化

题意:求图的补图,然后给定s,求s到各点的最短路思路:暴力bfs,用链表优化,边数题目给少了,不知道为什么会超时,不是显示RE?链接:http://acm.hdu.edu.cn/showproblem.php?pid=5876#include #include #include #include using namespace std;con

2016-09-12 21:47:56 440 1

原创 poj 2409 Let it Bead Polya定理

题意:用c种颜色给长度为s的项链染色,一共有多少种方案思路:网选后天就来了,这两天补了下Polya定理,刚好又在学习密码学,顺便补了群的一些东西。对于这种存在置换后存在一个等价类的计数问题,我们可以用Burnside引理和Polya定理,Polya定理是由Burnside定理推导出来的,学习过程应该是群->置换群->Burnside引理->Polya定理,同时可以看见的是尽管Polya

2016-09-09 00:44:44 549

原创 大数模板

用了交大的模板,增加了base进制,有个地方要注意的是,base 不能开太大,因为在做加法或者乘法的时候,有可能就发生溢出了,如果是开int数组,那最好base = 10^5,还有,maxn也不能开太大,否则会出错,下面模板base = 10^5,maxn开10^6次方爆掉还不知道什么原因#include #include #include using namespace s

2016-09-02 21:25:51 295

原创 hdu 5769 Substring 后缀数组

题意:求一个字符串中包含字符ch的所有子串思路:训练的时候想到是用后缀数组,但是因为没有用它做过一道题,所以最后还是没有ac,也就是说这是第一道后缀数组题,也总结了一下一些性质   (1)一个字符串的所有子串必定是属于某个后缀的前缀, 如s = “acabd”,后缀0包含的子串是“a”, “ac”, “aca”, “acab”, “acabc”,后缀1包含的子串是“c”,“ca

2016-08-15 17:04:32 385

原创 hdu 5806 NanoApe Loves Sequence Ⅱ 尺取法

题意:数列中有多少个区间里的第k大的数不大于m思路:这个题意换句话说,就是一个区间里面是否有k个数大于等于m,一个性质是如果当前区间已经满足前面的条件,那么再往这个区间添数字,也必然满足这个条件,可以想到挑战程序设计里说的尺取法,也可以说是其他数字对这个区间的贡献值。要注意ans要开longlong,可以想到当k=1,数列里所有数都大于m时,便会超过n^2链接:http://acm.hdu

2016-08-09 11:10:48 327

原创 hdu 3966 Aragorn's Story 树链剖分 bfs实现(不知道为什么会RE)

题意:给出一棵树,增加或减少树上一条路径上点的值,询问点的值思路:学习了树链剖分,并且使用了红书的bfs版本,然后映射到线段树上,手动扩栈后还是一直RE,真的不知道怎么弄了,红书上很多数据结构在这道题没有用上,但也加上了自己的理解希望各位神犇路过看下,不知道为什么会re题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=

2016-08-06 11:48:01 542

原创 Uva 11248Frequency Hopping 网络流 最大流最小割

思路:白书说得很清楚,说下有几个注意的地方。(1)当跑完最大流时候,最小割必定满流,即最小割每条边流量都等于容量(2) 跑完最大流的时候,用每条边的容量减去流量便是此时的残量网络(3)个人感觉白书所说的“依次把这些弧的容量增加到C”这句话不太妥,我觉得求出当前最小割A之后,如果A题目链接:https://uva.onlinejudge.org/index.php?optio

2016-08-01 11:38:01 459

原创 poj 1273 hdu 1532 网络流最大流 Dinic算法

保存一份最大流模板题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1532#include #include #include #include using namespace std;const int maxn = 405; //这里如果是边的话,记得要乘2,因为有反向边,不然会有reconst int inf

2016-07-28 15:27:01 435

原创 Stoer-Wagner算法训练题目合集 hdu 3691 hdu3002 poj 2914

题意:都是求全局最小割思路:训练时发现网络流是我们队伍一大缺陷,就看了一天多的网络流,然后也学会了Stoer-Wagner算法要注意的是输入会有重边,所以不能只赋值一次,这个做任何图论题都要注意hdu 3691:http://acm.hdu.edu.cn/showproblem.php?pid=3691#include #include #inc

2016-07-25 16:19:40 608

原创 fzu 2144 Shooting Game 区间覆盖贪心

题意:一个人在空间直角坐标系的原点,即是(0,0,0), 他的射程范围是以R为半径的球体,有n只蚊子,每只蚊子都会有原始坐标和三个坐标方向的速度,人要尽量把多的蚊子射下来,并且开枪次数最少。思路:假设一只蚊子能进入这个球体,必然有一个进入时间和离开时间,我们设为t,蚊子当前坐标为x = ax + dx * t, y = ay + dy * t, z = az + dz * t, 通过两

2016-07-22 09:33:04 592

原创 fzu 2141 Sub-Bipartite Graph 贪心 二分图构建

题意:从一个无向图中构建一个二分子图,保证二分图的边至少m/2条边思路:贪心,对与第i个点,假设前i-1个点已经成为一个二分图,就查看与i相连的点是在二分图左边多还是在二分图右边多,哪边少i点就往哪放题目链接:http://acm.fzu.edu.cn/problem.php?pid=2141#include #include #include #incl

2016-07-22 09:14:07 802

原创 hdu 2896 病毒侵袭 ac自动机

思路:裸的ac自动机,不过这题数据有点水,就算不用后缀链接也ac了题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2896#includeusing namespace std;const int maxn=100005;int n,m;char s[205],t[10005];vector v;struct A

2016-07-20 16:04:18 392

原创 hdu 2222 AC自动机静态模板

题意:给出多个模式串,看是否在文本串里出现思路:ac自动机第一题,参考的是lrj的静态写法,但因为涉及到重复模式串的问题,要进行一点改动,感谢hdu discuss里提供给的两组数据/*16shehesayshrheryasherhs*//*13sheshesheshesheshe*/第一组样例答案为4,第

2016-07-20 15:34:10 442

空空如也

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

TA关注的人

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