自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

nyist_xiaod

When you want to give up, think of why you persist until now.

  • 博客(13)
  • 资源 (13)
  • 收藏
  • 关注

翻译 求凸包

Graham's Scan法 求解凸包问题。我写的是按照逆时针扫描,其中叉乘函数返回的是的结果。凸包的结果保存在栈S[0...top]中。PS:1、求凸包时,必须确定至少有3个点。2、一般把极点 S[0] 在最后 S[top+1] 处复制一份,便于计算。3、初始化放2个点即可,3个点可能有bug(考虑开始三个点即 P[0]、P[1]、P[2] 共线的情况)。

2012-08-31 16:56:44 2219 1

翻译 三分查找

我们都知道 二分查找 适用于单调函数中逼近求解某点的值。如果遇到凸性或凹形函数时,可以用三分查找求那个凸点或凹点。下面的方法应该是三分查找的一个变形。如图所示,已知左右端点L、R,要求找到白点的位置。思路:通过不断缩小 [L,R] 的范围,无限逼近白点。做法:先取 [L,R] 的中点 mid,再取 [mid,R] 的中点 mmid,通过比较 f(mid) 与 f(mmi

2012-08-31 11:24:15 1868

原创 NYOJ 110 剑客决斗(DP)

题目链接:Click here~~题意:黑书P117例题3。解题思路:考虑 x 是否能赢得战斗,把环看成链,x点拆成两个,分别作为链的起点和终点。这样,则 x 能从所有人中胜出的充要条件就是 x 能与自己“相遇”。设meet[i,j] 记录 i 和 j 能否相遇,能则为true,否则为false。(i 和 j 为上述提到的链的起点和终点)

2012-08-17 13:11:13 2045

原创 HDU 1698 Just a Hook(线段树+简单lazy标记)

题目链接:Click here~~题意:最经典的区间染色入门问题。初始时区间[1,n]的颜色都是1,之后有若干操作,改变某段区间的颜色,输出最后区间[1,n]的颜色之和。解题思路:主要说如何做lazy标记。就是更新时,不更新到最底层(那样太浪费时间)。对每一个节点,用一个标记记录这段区间是否是同一段颜色。更新时,若当前节点正好是需

2012-08-10 18:53:02 1433

翻译 Tarjan算法求SCC(有向图强连通分量)

http://www.byvoid.com/blog/scc-tarjan/zh-hans/http://blog.csdn.net/shiqi_614/article/details/7833628dfn[u] 表示在 dfs 中 u 被访问的顺序标号。(时间戳 / time stamp)low[u] 表示 u 在栈中可以追溯到的的最远祖先的 dfn。若 u 的子节点 v

2012-08-06 10:24:19 3120

原创 HDU 4339 Query(树状数组+二分)

题目链接:Click here~~题意:有s1、s2两个串,有两种操作:1、查询从i位置开始,两串中最多有多少个字符相等。2、将某串的i位置的字符变为其他字符。解题思路:用一棵树状数组记录两串中前 i 个位置共有多少个字符对应相等。若某段区间[i,j]中,字符全部对应相等,则必有sum(j)-sum(i-1) = j-i+1 。设字符串长度为n,

2012-08-04 19:46:17 675

原创 HDU 4334 Trouble(Hash)

题目链接:Click here~~比赛时的一道题,当时没有好的思路,听学长讲了讲才知道可以用Hash做,之前用Hash只写过那个找球号的题。题意:有5组数,每组有n个,问能否在每组中找到一个数,令这5个数之和为0。解题思路:先用O(n^2)的时间求出前两组数的所有组合情况,将它们存入一个Hash表。然后用O(n^3)的时间求出后三组数的所有组合情

2012-08-04 15:05:02 765

翻译 Tarjan算法求LCA(最近公共祖先)

LCA的离线算法。复杂度为O(n+q)。这个算法充分利用了dfs树的结构。对于每个节点u,关于它的询问(u,v)只有两种。(假设先dfs(u)后dfs(v))1、v在u的子树内。此时LCA(u,v) = u.2、v不在u的子树内。⑴假设v在u的父亲的另一棵子树内。此时LCA(u,v) = father[u].⑵如果不满足条件⑴,则v可能在u的父亲的父亲的另一棵子树内

2012-08-03 19:57:49 3582

翻译 匈牙利算法(二分图最大匹配)

匈牙利算法。复杂度为O(mn)。对每个点都找以它为起点的增广路,当找到增广路后,匹配数必定加1。#include #include const int N = 105;const int M = 10005;struct Vertex{ int head;}V[N];struct Edge{ int v,next;}E[M];int top,

2012-08-02 18:01:18 820

原创 POJ 3468 A Simple Problem with Integers(线段树成段更新)

题目链接:Click here~~题意:给你n个数,然后有两种操作,求某段区间的和 or 将某段区间元素加若干值。解题思路:线段树。。。模仿别人的。1516MS。貌似zkw式线段树1329MS,两个树状数组可以做到1047MS,等以后再学,TAT。#include #define L(x) (x<<1)#define R(x) (x<<

2012-08-01 15:53:30 900

原创 URAL 1348 Goat in the Garden 2(点到线段的距离)

题目链接:Click here~~第二道计算几何,虽然方法很笨,但还是想记录下。题意:求某点到一条线段的最小距离与最大距离。解题思路:稍加分析可知,最大距离一定在端点处取得。求最小距离时,先求出垂线与线段所在直线的交点,然后判断交点在不在线段上。如果在,则最小距离为垂线段的距离,即交点到此点的距离。如果不在,则最小距离必在另一

2012-08-01 11:37:09 800

原创 CF 191A - Dynasty Puzzles(简单DP)

题目链接:Click here~~题意:有若干个字符串,求一个最长的环,且顺序必须满足给定顺序,即后面的串只能接在前面的串的后边。解题思路:令dp[i][j]表示从字母 i 到字母 j 所能走过的最长长度。设某串长度为len,则状态转移方程为dp[k][j] = max(dp[k][j],dp[k][i]+len).k∈{a,b,…z}且要注意两

2012-08-01 11:13:28 1179

原创 ZOJ 3508 The War(贪心)

题目链接:Click here~~题意:有N个区间,M个点,问怎样使得更多的区间满足包含且仅包含一点(不能重复包含)。解题思路:貌似是区间选点问题的变形。假设区间左右端点为a,b,按照b从小到大排序,如果b相同按照a从大到小排序,即满足小区间在前。策略是:首先满足前面的区间,并取该区间中第一个满足条件的点(即最小的点)。不妨设排序后的任意

2012-08-01 10:16:47 951

国家集训队2009论文

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

国家集训队2008论文

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

国家集训队2007论文

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

国家集训队2006论文

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

国家集训队2005

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

国家集训队2004

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

国家集训队2003论文

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

国家集训队2002论文

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

国家集训队2001论文

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

国家集训队2000论文集

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

国家集训队论文1999年

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

杭电ACM课件

杭电ACM课件,与感兴趣的同学分享,内容比较简单,适合初学者。

2012-04-18

空空如也

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

TA关注的人

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