- 博客(61)
- 资源 (3)
- 收藏
- 关注
原创 [洛谷] T137252 火车编组
原题链接 :https://www.luogu.com.cn/problem/P3426[原题] :题目描述你打算在纸上印一串字母。为了完成这项工作,你决定刻一个印章。印章每使用一次,就会将印章上的所有字母印到纸上。同一个位置的相同字符可以印多次。例如:用aba这个印章可以完成印制ababa的工作(中间的a被印了两次)。但是,因为印上去的东西不能被抹掉,在同一位置上印不同字符是不允许的。例如:用aba这个印章不可以完成印制abcba的工作。因为刻印章是一个不太...
2021-12-19 13:36:48
1051
原创 【洛谷】P1031 [NOIP2002 提高组] 均分纸牌
题目背景1997年普及组第一题题目描述有一个n \times mn×m方格的棋盘,求其方格包含多少正方形、长方形(不包含正方形)。输入格式一行,两个正整数n,mn,m(n \leq 5000,m \leq 5000n≤5000,m≤5000)。输出格式一行,两个正整数,分别表示方格包含多少正方形、长方形(不包含正方形)。输入输出样例输入 #1复制2 3输出 #1复制8 10【思路】...
2021-12-05 17:29:53
257
原创 [洛谷]P3956 棋盘
思路 : 这类棋盘搜索类问题, 初看起来, 感觉条件很多.状态转移无从下手. 我们可以把条件作为当前状态的一个属性.在每次DFS的时候把当前的这些状态的属性值作为参数传入进来.代码:#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;const int N = 105;int a[N][N], f[N][
2020-10-15 14:22:23
318
原创 [洛谷]P1890 gcd区间
思路 求区间GCD,已三个数GCD为例, 设三个数为a,b,c. _gcd(a, b, c) = _gcd(_gcd(a, b) ,c). 整体思路, 全部数的gcd等于左半边的gcd和右半边gcd. 所以,思路使用线段树求gcd就好....
2020-10-14 10:49:42
294
原创 [算法]字符串的boader
定义:我们定义, 一个字符串s, 它的border是既是它的前缀又是它的后缀, 且不等于s本身的串.然后我们定义真border是所有border中的最长者.这样我们发现每个border 其实是KMP算法中, 字符串S的next数组....
2020-07-24 11:30:56
567
原创 [洛谷]UVA10298 Power Strings
原题链接:https://www.luogu.com.cn/problem/UVA10298[原题]题目描述PDF输入格式输出格式题意翻译题意简述:求一个字符串由多少个重复的子串连接而成。例如ababab由三个ab连接而成,abcd由abcd由一个abcd连接而成。输入格式本题多组数据。每一组数据仅有一行,这一行仅有一个字符串ss。输入的结束标志为一个.。输出格式对于每一组数据,输出这组字符串由多少个重复的子串连接...
2020-07-21 19:22:52
179
原创 [AcWing] 129. 火车进栈
[题目]链接地址:https://www.acwing.com/problem/content/131/这里有n列火车将要进站再出站,但是,每列火车只有1节,那就是车头。这n列火车按1到n的顺序从东方左转进站,这个车站是南北方向的,它虽然无限长,只可惜是一个死胡同,而且站台只有一条股道,火车只能倒着从西方出去,而且每列火车必须进站,先进后出。也就是说这个火车站其实就相当于一个栈,每次可以让右侧头火车进栈,或者让栈顶火车出站。车站示意如图: 出站<——
2020-07-16 13:08:47
232
1
原创 [洛古]P1044 栈
题目背景栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。栈有两种最重要的操作,即 pop(从栈顶弹出一个元素)和 push(将一个元素进栈)。栈的重要性不言自明,任何一门数据结构的课程都会介绍栈。宁宁同学在复习栈的基本概念时,想到了一个书上没有讲过的问题,而他自己无法给出答案,所以需要你的帮忙。题目描述宁宁考虑的是这样一个问题:一个操作数序列,1,2,\ldots ,n1,2,…,n(图示为 1 到 3 的情况),栈 A 的深度大于nn。现在可以.
2020-05-13 12:46:50
194
原创 【POJ】Find them, Catch them
Time Limit:1000MS Memory Limit:10000K Total Submissions:62168 Accepted:18835 DescriptionThe police office in Tadu City decides to say ends to the chaos, as launch actions ...
2020-05-05 17:05:30
1088
转载 ACM/IOI 历年国家集训队论文集和论文算法分类整理
按照时间排序:国家集训队1999论文集陈宏:《数据结构的选择与算法效率——从IOI98试题PICTURE谈起》来煜坤:《把握本质,灵活运用——动态规划的深入探讨》齐鑫:《搜索方法中的剪枝优化》邵铮:《数学模型的建立、比较和应用》石润婷:《隐蔽化、多维化、开放化——论当今信息学竞赛中数学建模的灵活性》杨帆:《准确性、全面性、美观性——测试数据设计中的三要素》周咏基:《论随机化...
2020-05-05 11:03:59
767
原创 [洛谷]P1177 【模板】快速排序
题目描述利用快速排序算法将读入的NN个数从小到大排序后输出。快速排序是信息学竞赛的必备算法之一。对于快速排序不是很了解的同学可以自行上网查询相关资料,掌握后独立完成。(C++C++选手请不要试图使用STL,虽然你可以使用sort一遍过,但是你并没有掌握快速排序算法的精髓。)输入格式第11行为一个正整数NN,第22行包含NN个空格隔开的正整数a_iai,...
2020-05-03 11:42:49
227
原创 【洛谷】P1803 凌乱的yyy / 线段覆盖
题目背景快 noip 了,yyy 很紧张!题目描述现在各大 oj 上有nn个比赛,每个比赛的开始、结束的时间点是知道的。yyy 认为,参加越多的比赛,noip 就能考的越好(假的)。所以,他想知道他最多能参加几个比赛。由于 yyy 是蒟蒻,如果要参加一个比赛必须善始善终,而且不能同时参加22个及以上的比赛。输入格式第一行是一个整数nn,接下来nn行每...
2020-05-01 17:15:01
557
1
原创 [洛谷]P2240 【深基12.例1】部分背包问题
题目描述阿里巴巴走进了装满宝藏的藏宝洞。藏宝洞里面有N(N \le 100)N(N≤100)堆金币,第ii堆金币的总重量和总价值分别是m_i,v_i(1\le m_i,v_i \le 100)mi,vi(1≤mi,vi≤100)。阿里巴巴有一个承重量为T(T \le 1000)T(T≤1000)的背包,但并没办法将全部的金币都装进去。他想装走尽可能多价值的金币。所有金币都...
2020-05-01 16:14:12
652
原创 [leetcode]1390. 四因数
【题目】给你一个整数数组 nums,请你返回该数组中恰有四个因数的这些整数的各因数之和。如果数组中不存在满足题意的整数,则返回 0 。示例:输入:nums = [21,4,7]输出:32解释:21 有 4 个因数:1, 3, 7, 214 有 3 个因数:1, 2, 47 有 2 个因数:1, 7答案仅为 21 的所有因数的和。提示:1 <= n...
2020-05-01 14:36:10
303
原创 【洛谷】P1434 [SHOI2002]滑雪
题目描述Michael 喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael 想知道在一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子:1 2 3 4 516 17 18 19 615 24 25 20 714...
2020-04-12 17:03:21
251
原创 [leetcode] 9. Palindrome Number
Determine whether an integer is a palindrome. An integerisapalindrome when itreads the same backward as forward.Example 1:Input: 121Output: trueExample 2:Input: -121Output: falseExpl...
2019-03-11 16:25:44
101
原创 [洛谷] - 高低位交换
题目描述给出一个小于2^{32}232的正整数。这个数可以用一个3232位的二进制数表示(不足3232位用00补足)。我们称这个二进制数的前1616位为“高位”,后1616位为“低位”。将它的高低位交换,我们可以得到一个新的数。试问这个新的数是多少(用十进制表示)。例如,数13145201314520用二进制表示为0000 0000 0001 0100 0000 1110 1101 100...
2019-02-27 18:58:18
2162
原创 [洛谷] - P2077 红绿灯
题目描述在一个城市,有一条笔直的公路,在这条公路上有N个十字路口,每个路口都设有一个红绿灯,已知相邻的两个路口距离为Ai千米(1≤i<N),每个路口的红灯时间为Ri,绿灯时间为Gi,没有黄灯,现在有一辆车从距离1号十字路口M千米的位置出发,且此时所有路口的红绿灯刚好从红灯跳到绿灯,问这辆车通过每个路口的时间(不能闯红灯,这辆车的速度为1千米每分钟)。输入输出格式输入格式: 第一...
2019-02-27 17:03:36
1215
原创 [leetcode] - 1. Two Sum
Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the same ...
2019-02-27 16:10:47
124
原创 QueryPerformanceFrequency用法
精确获取时间:QueryPerformanceFrequency() - 基本介绍类型:Win32API原型:BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency);作用:返回硬件支持的高精度计数器的频率。返回值:非零,硬件支持高精度计数器;零,硬件不支持,读取失败。QueryPerfor
2015-06-22 10:01:59
912
原创 stringstream的用法
使用stringstream对象简化类型转换C++标准库中的提供了比ANSI C的更高级的一些功能,即单纯性、类型安全和可扩展性。在本文中,我将展示怎样使用这些库来实现安全和自动的类型转换。 为什么要学习如果你已习惯了风格的转换,也许你首先会问:为什么要花额外的精力来学习基于的类型 转换呢?也许对下面一个简单的例子的回顾能够说服你。假设你想用sprintf()函数将一个变量从i
2015-06-22 09:56:50
269
原创 QueryPerformanceCounter用法
LARGE_INTEGER beginTime = {0}; QueryPerformanceFrequency(&beginTime); //电脑CPU时钟频率 double pcFreq = (double)beginTime.QuadPart/1000000.0; Query
2015-06-22 09:54:09
1581
原创 四个服务器设计模型
五个简单TCP协议(MuduoManual.pdf P50)muduo库网络模型使用示例(sudoku求解服务器MuduoManual.pdf P35 )reactor(一个IO线程)reactor + threadpool (一个IO + 多个计算线程)multiple reactor (多个IO线程)one loop per thread + thread po
2015-06-14 11:58:31
445
原创 Linux伙伴算法
最近一直在学习Linux内存管理的知识,以《独辟蹊径品内核:Linux内核源代码导读》为学习的教材,并且参考了一些网络上的文章,再结合自己的理解整理出了如下的文章。由于笔者能力有限,文中难免存在不足,如果发现错误之处,希望能帮助我及时纠正错误之处。1、伙伴算法的用途管理物理内存,解决外碎片问题。2、满足以下条件的两个块称为伙伴l 两个块具有相同的大小
2015-06-08 13:48:47
1307
1
原创 函数式编程初探
诞生50多年之后,函数式编程(functional programming)开始获得越来越多的关注。不仅最古老的函数式语言Lisp重获青春,而且新的函数式语言层出不穷,比如Erlang、clojure、Scala、F#等等。目前最当红的Python、Ruby、Javascript,对函数式编程的支持都很强,就连老牌的面向对象的Java、面向过程的PHP,都忙不迭地加入对匿名函数的支持。越来
2015-06-08 09:59:14
363
原创 Bison-Flex 笔记
FLEX什么是FLEX?它是一个自动化工具,可以按照定义好的规则自动生成一个C函数yylex(),也成为扫描器(Scanner)。这个C函数把文本串作为输入,按照定义好的规则分析文本串中的字符,找到符合规则的一些字符序列后,就执行在规则中定义好的动作(Action)。例如在规则中可以这样定义:如果遇到一个换行字符\n,那么就把行计数器的值加一。Flex文件就是一个文本文件,内容包括
2015-06-03 15:14:40
772
原创 Linux线程-互斥锁pthread_mutex_t
在线程实际运行过程中,我们经常需要多个线程保持同步。这时可以用互斥锁来完成任务;互斥锁的使用过程中,主要有pthread_mutex_init,pthread_mutex_destory,pthread_mutex_lock,pthread_mutex_unlock这几个函数以完成锁的初始化,锁的销毁,上锁和释放锁操作。一,锁的创建 锁可以被动态或静态
2015-06-03 14:11:36
384
原创 GNU Bison 中文手册
GNU Bison 中文手册 20050620 GNU Bison 中文手册翻译完成GNU Bison实际上是使用最广泛的Yacc-like分析器生成器,使用它可以生成解释器,编译器,协议实现等多种程序. 它不但与Yacc兼容还具有许多Yacc不具备的特性.这个手册编写十分完整,带你领略Bison在使用中的各个细节(注:并不是实现细节).如果发现错误,语句不通顺,意
2015-06-03 13:04:28
2471
1
原创 HTTP详解(3)-http1.0 和http1.1 区别
翻了下HTTP1.1的协议标准RFC2616,下面是看到的一些它跟HTTP1.0的差别。1. Persistent Connection持久连接 在HTTP1.0中,每对Request/Response都使用一个新的连接。 HTTP 1.1则支持持久连接Persistent Connection, 并且默认使用persisten
2015-06-03 11:39:44
386
原创 HTTP详解(2)-请求、响应、缓存
1. HTTP请求格式 做过Socket编程的人都知道,当我们设计一个通信协议时,“消息头/消息体”的分割方式是很常用的,消息头告诉对方这个消息是干什么的,消息体告诉对方怎么干。HTTP协议传输的消息也是这样规定的,每一个HTTP包都分为HTTP头和HTTP体两部分,消息体是可选的,而消息头是必须的。每当我们打开一个网页,在上面点击右键,选择“查看源文件”,这时
2015-06-03 11:35:19
429
原创 HTTP详解(1)-工作原理
1. HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。 在了解HTTP如何工作之前,
2015-06-03 11:29:37
319
转载 实现linux 服务器自动批量化管理
当我们需要维护的服务器有几百台上千台时,服务器的批量和自动化维护脚本就显得异常关键。本文讨论实现批量化管理的几个关键技术。一、使用key 登陆并建立互信,以secureCRT 为例1.使用公钥登陆的sshd 设置vi /etc/ssh/sshd_config修改:PermitRootLogin yes 为 PermitRootLogin noPass
2014-12-25 09:08:09
717
转载 Linux常用的进程管理和查看指令
&背景工作做符ctrl+ z 暂停ctrl + c 停止jobs [-l(list) , r(running jobs) ,-s(stop jobs)] 观察背景工作的状态fg %jobnumber 将背景工作拿到前景执行bg %jobnumber 让工作在背景的状态变成运作中(被ctrl暂停在背景的工作)==========
2014-12-25 08:54:59
323
转载 linux服务器如何检查远程用户登陆状态、时间、ip地址等信息
问题:因为某项目组在同一个服务器上都是用的同一个登录名和密码,所以项目管理上无法做到具体谁对服务器进行了某些操作,现在的需求是能具体到某个研发人员在这个服务器上的操作。公司用的内网,IP地址是动态的,也无法从IP地址确定到某个人。所以能否在研发人员登录服务器时,服务器根据登录者的IP地址直接获取到他电脑的名字,这样就可以跟踪到具体的某个人了。答:先查看有谁登陆,在查看他的MAC信息
2014-10-22 14:35:09
877
转载 Linux下用于查看系统当前登录用户信息的4种方法
作为系统管理员,你可能经常会(在某个时候)需要查看系统中有哪些用户正在活动。有些时候,你甚至需要知道他(她)们正在做什么。本文为我们总结了4种查看系统用户信息(通过编号(ID))的方法。1. 使用w命令查看登录用户正在使用的进程信息w命令用于显示已经登录系统的用户的名称,以及他们正在做的事。该命令所使用的信息来源于/var/run/utmp文件。w命令输出的信息包括:用户名称
2014-10-22 14:26:58
342
转载 查看LINUX进程内存占用情况
可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令: (1)top top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查
2014-10-16 11:10:12
266
转载 ORACLE关于锁表查询的部分SQL
--查询表空间名称和大小SELECT UPPER (F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "表空间大小(M)",D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",TO_CHAR (ROUND ((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.T
2014-10-14 18:09:52
347
转载 ioctl函数
ioctl用于向设备发控制和配置命令,这些命令数据不能用read/write读写的,称为Out-of-band数据。也就是说,read/write读写的数据是in-band数据,是I/O操作的主体,而ioctl命令传送的是控制信息,其中的数据是辅助的数据。例如,在串口线上收发数据通过read/write操作,而串口的波特率、校验位、停止位通过ioctl设置;A/D转换的结果通过read读取,而A/
2014-10-14 15:45:57
699
转载 strace用法说明
strace命令详解strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。 strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息,而且不需要以任何特殊的方式来构建内核。 下面记录几个常用 option . 1 -f -F选项告诉strace同时跟踪fork和vfork出来的进程 2 -o xxx.txt 输出到某个文
2014-10-14 13:00:25
264
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人