- 博客(28)
- 资源 (2)
- 收藏
- 关注
转载 Python 的列表排序[转]
在 Python 中, 当需要对一个 list 排序时, 一般可以用 list.sort() 或者 sorted(iterable[, cmp[, key[, reverse]]]).其中:cmp(e1, e2) 是带两个参数的比较函数, 返回值: 负数: e1 e2. 默认为 None, 即用内建的比较函数.key 是带一个参数的函数, 用来为每个元素提取比较值. 默认为 None, 即直接比
2013-07-21 23:11:06 506
转载 Python特殊语法:filter、map、reduce、lambda [转]
Python内置了一些非常有趣但非常有用的函数,充分体现了Python的语言魅力!filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回:>>> def f(x): return x % 2 != 0 and
2013-07-21 22:49:47 454
原创 欧拉函数
(小于等于1的正整数中唯一和1互质的数就是1本身)。若n是质数p的k次幂,,因为除了p的倍数外,其他数都跟n互质。欧拉函数是积性函数,即是说若m,n互质,。例如#include #include #include #include #include #include #include #include #include #include #inclu
2013-06-12 00:29:45 625
原创 Miller-Rabin和Pollard_rho
1 Miller-Rabin算法1.1 反复平方法求数的幂 希望找出一种有效的方法来计算的值,其中a,b为非负整数,n为正整数。 当用二进制来表示b时,采用反复平方法,可以有效的解决这个问题。 设是b的二进制表示。下列过程随着c的值从0到b成倍增长,最终计算出。/* a^b mod n */int mod_exp(int a,in
2013-06-09 12:10:40 762
原创 poj1639 Picnic Planning
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include
2013-04-02 22:51:48 500
原创 poj3422 Kaka's Matrix Travels
/* * poj3422 AC * 网络流 最小费用最大流 * 图的模型 * 每个方格拆成两个节点u和v,用两条边连接,一条容量为1,费用为方格数字的相反数; * 另一条边容量为k-1,费用为0。 * 每个方格的v节点与左边和下面方格的u节点相连,容量为k,费用为0。 * 创建源点s与汇点t,s与第一个方格的u节点相连,容量为k,费用为0。 * 最后一个方格的v节点与t相连,容量为
2012-12-08 11:56:58 472
原创 CSS样式表属性
CSS背景背景色: background-color背景图像: background-imagebackground-image: url(...)背景重复: background-repeatbackground-repeat: repeat-x / repeat-y / no-repeat背景定位: background-positioncenter / top
2012-10-01 16:52:30 316
原创 poj1112 Team Them Up!
/* * poj1112 AC * DP 背包问题 与poj1636 prison rearrangement如出一辙。 * 问题挺经典,重点在于构造模型。 * 首先考虑将所有人分为互斥的若干部分,这便是背包问题中物品了。 * 之后,要将每个"物品"分为放在A和放在B的两个部分,然后进行DP。 * * I. 求补图,将表示两个人相互认识的边去除,连接所有互相不认识, * 或单
2012-09-17 20:11:51 525
原创 poj1180 Batch Scheduling
/* * poj1180 AC * 动态规划+斜率优化+单调队列 * 注意边界的处理,由于STL的问题导致浪费了很多时间。 * 状态方程巧妙,逆序的方式很有效。 * * 方程的变化十分巧妙。 * 之前的方程: * dp[i][j] 表示前i的工作分成j组的最小花费。 * f[i]表示前i个工作的费用系数和。 * t[i]表示前i个工作的时间总和。 * dp[i][j] = m
2012-08-02 10:25:00 687
原创 PHP日期与时间相关的函数
PHP日期和时间1.验证日期。 checkdate()如果提供的日期有效,返回TRUE,否则返回FALSE。 bool bheckdate(int month,int day,int year);2.格式化日期。 date()函数返回根据预定义的格式制定的指令格式化的时间和日期的字符串形式。 string date(string format [,int tim
2012-07-22 10:47:20 561
原创 PHP处理文件和操作系统的相关函数
1.获取路径的文件名 basename()函数返回路径的文件名部分。当有suffix时忽略后缀。 string basename(string path [,string suffix]);2.获取路径的目录 dirname()提供文件路径的目录部分。 string dirname(string path);3.获取更多路径信息。 pathinfo()函
2012-07-21 23:06:41 886
原创 poj2228 Naptime
/* * poj2228 AC * DP+滚动数组 * 方程开始就想错了,看了题解才知道差了十万八千里。 * 值得研究的一道题。 * * f[i][j][0..1]表示前i段时间,休息j段时间,且第i段时间 * 在不休息(0)或休息(1)时的最大值。 * * f[i][j][0] = max(f[i-1][j][1],f[i-1][j][0]); * f[i][j][1] =
2012-07-20 10:34:54 731
原创 poj2342 Anniversary party
/* * poj2342 AC * 典型的树状DP。 * dp[i][0]表示员工i参加舞会的最大值,dp[i][1]表示员工i不参加舞会的最大值。 * * dp[i][0] = max(dfs(son[i],1)); * i参加则i的儿子结点一定不能参加。 * dp[i][1] = max(dfs(son[i],0),dfs(son[i],1)); * i不参加则i的儿子结点可参
2012-07-19 13:12:18 761
原创 poj2378 Tree Cutting
/* * poj2378 AC * 一次水过。 * 简单的树状DP,先做一次dfs算出每个结点的子孙结点总数,包括自己,sum[i]。 * 再做dfs计算删去每个结点x是否满足条件,即满足: * 1) 每个结点的所有子结点i的sum[i]是否小于half。 * 2) 父结点方向上的结点总数,sum[1]-sum[x]是否小于half(1为树的根结点)。 * 若满足则为
2012-07-18 19:50:33 508
原创 poj2374 Fence Obstacle Course
/* * poj2374 AC * 线段树+DP 这道题还是很典型的,值得一做。 * * */#include#include#define MAXN 200005 using namespace std; long tree[MAXN<<2];long a[50005],b[50005];long f[50000][2];long query(long k,long
2012-07-18 17:02:18 605
原创 PHP中与数组有关的函数总结
数组函数1.array() array(item1,item2,item3...); array(key1=>item1,key2=>item2...);2.list() list(item1,item2,item3...) = arr;3.range(int low,int high [,int step])4.print_r(arr [,bool return]
2012-07-18 11:15:04 645
原创 poj1949 chores
/* * poj1949 AC 看起来像拓扑排序的DP * * 关键在于:工作k的前趋在1..k-1进行选择。 * 所以,理解题意可知,令工作i的结束时间为dp[i] * dp[i] = max(dp[j]|工作j为i的前趋)+t[i]; * * 但即使没有此条件,也可以将此题看作是一道树状DP。 * 将拓扑图反向,即将某工作的前趋作为该工作的儿子进行DP。 * 但我的树状DP
2012-07-15 18:11:28 887
转载 netstat,nmap命令总结(鸟哥的LINUX私房菜)
[root@linux ~]# netstat -[rn] <==與路由有關的參數[root@linux ~]# netstat -[antulpc] <==與網路介面有關的參數參數:與路由 (route) 有關的參數說明:-r :列出路由表(route table),功能如同 route 這個指令;-n :不使用主機名稱與服務名稱,使用 IP 與 port
2012-06-27 17:43:11 1991
原创 poj1151 Atlantis
此处的讲解更加详细与系统,代码也要好看100倍。/* * poj1151 AC * 线段树+线段扫描+矩形分割 * 计算平面上重叠矩形的总面积的经典问题 * * 代码又长又丑,完全不能忍了。 * * 实数坐标需要离散化,并且需要一个简单的hash数组对应 * 分割方式有两种,纵向与横向,此处采用纵向分割。 * 构造线段树时,注意其区间此处取[l,r)更为方便合适。 * 初始
2012-06-02 21:01:47 532
原创 poj3468 A Simple Problem with Integers
/* * poj3468 AC * 线段树的基本操作(注意输出要用long long) * 区间增减+区间查询 * * 不同于单点增减,区间增减并非立刻更新当前区间,而依赖于"懒惰标记"的运用。 * 中心思想: * 在更新时,只要某个结点的区间完全属于增减区间,则更新当前结点,并做上标记, * 表示当前结点的信息是可靠的,之后退出而不更新儿子结点。 * 在查询时,
2012-05-28 14:02:03 311
原创 poj2777 Count Color
/* * poj2777 AC * 线段树基础 * 注意:初始状态时board已经染为了颜色1 * 看到颜色只有30种时,果断想到了用二进制数来保存颜色,一个long足够了。 * * 线段树: * 线段树的基本操作参考AHYY的线段树讲稿。 * 现在终于注意到了队结点标记的重要性,即要保持结点的一致性。 * * 一致性: *
2012-05-26 13:16:07 368
原创 poj3621 Sightseeing Cows
相关题解参见这里,这一类问题这里都讲到了,很全面。/* * poj3621 AC 625ms * 所谓的01分数规划+spfa判断正(负)环+二分枚举答案 * 为什么就那么慢,那个pascal的0ms是直接打印的答案吧,快得逆天了啊! * 经常会纠结这种问题: * 对一个任务选择一种方案,存在不同的价值与成本,要求(价值/成本)最大的方案。 *
2012-05-21 13:04:19 595
原创 poj3463 Sightseeing
/* * poj3463 AC * 求最短路径以及次短路径的总数。 * Dijkstra+一点变化。 * 与最短路径的Dijkstra的相比,记录的东西要增加。 * 算法: * 首先,要记录到某结点的最短路径以及最短路径dis[i][2], * 记录到某结点的最短路径以及次短路径是否算出的vis[i][2], * 还要记录到大某结点的最短路径以及次短路径的路径数num[i][[2
2012-05-18 17:15:40 515
原创 poj2449 Remmarguts' Date
典型的求k短路径的问题,有很多种算法,暂时试了试Dijkstra+A*算法k短路径的相关问题看这里,尽管已经是2007年的文章了,但作者真的写得非常详细和全面。下面是一个简化的算法流程。/* * k短路径 Dijkstra+A*算法 * 算法流程: * 1.将有向图的边反向后,Dijkstra求出任意节点到终点的最短路径 dis[i] * 2.优先队列 * struct
2012-05-16 21:20:18 547
原创 LCA最近公共祖先——tarjan算法
tarjan算法求最近公共祖先,理论详见http://www.nocow.cn/#include #include using namespace std;/** LCA 最近公共祖先 tarjan算法 并查集+dfs 离线算法 先读入所有查询问题,并不按顺序给出结果。 算法流程 I. vis[i]记录节点i是否被访问。
2012-05-12 16:33:50 807
原创 无向图和有向图关于连通性的tarjan算法
无向图的割顶,桥和构造双连通分量以及有向图的极大连通分量,相关概念看这里 http://www.byvoid.com/blog/biconnect/程序部分自己写,理论部分参考上方链接。根据黑书上面的相关内容,无向图的tarjan算法大致如下:/* * 注释1:去除注释1即为无向图求割顶的算法。 * 特别的,若最终 sons>1,则节点1也为一个割点。 * 调
2012-05-11 23:32:19 3604 1
原创 线段树
线段树的模板,基本包括线段树的各个算法了吧。#include#includeusing namespace std; /**覆盖区间长度!!**/ /**覆盖区间数统计!!**/long aLeft[10000],aRight[10000],aLow[10000],aHigh[100
2012-05-10 23:03:15 285
原创 poj1144 Network
标准的求割顶的问题,用tarjan算法,参见www.nocow.cn割点词条/* * poj1144 AC * 求无向图割顶 * tarjan算法,好好背一背! * */#include#include#include#includeusing namespace std;struct NODE{ int v,next;}edge[20020];long tot,he
2012-05-10 01:32:12 430
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人