- 博客(10)
- 收藏
- 关注
原创 KMP算法-next数组详解
本文适合对kmp算法有一定基础的读者,且重点说明next数组求法一,对几个概念需申明 概念I:字符串的前缀,后缀 例:Str = "abcabc" Str的前缀 {a,ab,abc,abca,abcab} Str的后缀 {c,bc,abc,cabc,bcabc} 故 Str的最长公共...
2019-02-03 18:06:21
647
原创 ccf_无线网络
目前在一个很大的平面房间里有 n 个无线路由器,每个无线路由器都固定在某个点上。任何两个无线路由器只要距离不超过 r 就能互相建立网络连接。 除此以外,另有 m 个可以摆放无线路由器的位置。你可以在这些位置中选择至多 k 个增设新的路由器。 你的目标是使得第 1 个路由器和第 2 个路由器之间的网络连接经过尽量少的中转路由器。请问在最优方案下中转路由器的最少个数是多少?输入格式 ...
2019-01-31 18:14:22
190
原创 ccf_I'm stuck!
问题描述 给定一个R行C列的地图,地图的每一个方格可能是'#', '+', '-', '|', '.', 'S', 'T'七个字符中的一个,分别表示如下意思: '#': 任何时候玩家都不能移动到此方格; '+': 当玩家到达这一方格后,下一步可以向上下左右四个方向相邻的任意一个非'#'方格移动一格; '-': 当玩家到达这一方格后,下一步可以向左右两个方向相邻的一个非'#'方格移...
2019-01-30 11:27:35
440
1
原创 ccf_最大矩形
问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。 请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行。对于上面给出的例子,最大矩形如下图所示的阴影部分,面积是10。输入格式 第一行包含一个整数n,即矩形的数量(1 ≤...
2019-01-28 14:44:09
207
原创 Python类的__dict__方法
>>> class A: passdir函数可以查看类的属性和方法 从中可以查看__dict__>>> dir(A)['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash
2017-12-28 21:58:17
7990
原创 Python之深拷贝和浅拷贝
**# 浅拷贝:python所执行的复制动作中,如果是基本类型的数据(数字,字符串),就在内存中重新见一个窝,如果不是基本数据类型(列表,元祖,字典),就不用重新建窝即可,而是标签引用原来的窝。 # .copy()则是浅拷贝 # 深拷贝:所执行的复制的动作中,无论是基本数据类型,还是复杂数据类型 都会建一个窝来存储复制“对象的内容* # = 复制 x = {"name":"qisw
2017-12-14 15:00:17
190
原创 在数组中找到次数大于N/K的数
题目大概意思是给定一个整形数组arr,打印其中的出现次数大于一半的数,如果不存在该数,输出提示信息最简单的思路: 新开辟num[]数组存每个数出现的次数,遍历即可,但是对于arr[i]的值过大,则该方法就不适用。 推荐思路: 假设一个整形数组arr存在出现次数大于一半的数: 则每次删除两个数为不相同的数,那么删除到最会肯定会剩余一个数或者多个相同的数
2017-10-11 22:39:29
461
原创 扩展欧几里德算法
定义 设a和b不全为0,则存在整数x和y,使得 gcd(a,b) = xa+yb 注: 油欧几里得得 gcd(a,b) = gcd(b,a%b); gcd(a,0) = a; 若 gcd(a,b)=1 则称a和b互素 整数 a和b 互素的充分必要条件:存在整数X和Y,使得xa+yb=1; 扩展
2017-07-05 21:39:20
314
原创 快速排序代码实现
快速排序的基本思想是:通过一趟排序将带排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续排序,以达到整个序列有序的目的.#include<iostream>using namespace std;void swap(int *a,int low,int high) //对数组两个数交换{ int r; r=a[low]; a
2016-11-29 16:56:14
282
原创 csu1808(优先级队列+Dijkstra)
解题思路 以边为单位计算 优先级队列存储与起点最短的边的长度 #include "set" #include "queue" #include "cmath" #include "vector" #include "cstdio" #include "cstring" #include "cstdlib" #include "iostream" #include
2016-11-23 18:15:10
403
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人