国家集训队2004论文集 肖天

合集下载

Acm竞赛常用算法与数据结构

Acm竞赛常用算法与数据结构

• 每次用堆取出x进行计算,O(mnlogmn)。
28
哈希表(Hash)
• 理论上查找速度最快的数据结构之一 • 缺点: 需要大量的内存 需要构造Key
29
Hash表的实现
• 数组 • 冲突解决法 • 开散列法 • 闭散列法 C++ sgi stl 实现
30
Hash Key的选取
• 数值: • 方法一:直接取余数(一般选取质数M最为除 数) • 方法二:平方取中法,即计算关键值的平方, 2 r 的表 再取中间r位形成一个大小为
7
常见题型
•Dynamic Programming(动 态规划) •Greedy(贪心) •Complete Search(穷举) •Flood Fill (种子填充)
8
常见题型
• Shortest Path (最短路径) • Recursive Search Techniques (回溯) • Minimum Spanning Tree (最小 生成树) • Knapsack(背包)
22
Parity(ceoi99)
• 从整个01序列肯定是无法入手的,因为它 的长度高达109。 • 从范围比较小的n入手。也就是说我们需要 对信息进行一些特殊的处理。 • a b even/odd,那么将元素b指向a-1, 边的权值是even/odd。 • 下面我们由样例来说明一下这个处理方法。
23
11
12
枚举法
• 又叫穷举法,它利用了计算机计算 速度快且准确的特点,是最为朴素 和有效的一种算法。
• 不是办法的办法
• 但有时却是最好的办法
13
Pizza Anyone? (ZOJ 1219)
• 题目大意: 你需要为你和你的朋友们订一个皮萨。 每个朋友都会告诉你他们想和不想放进皮萨 里的东西。 你是否能订一个皮萨,让他满足每个人 至少一个条件。 假设一共有16种东西可以放进皮萨。

NOI国家集训队论文分类(至2008)(摘抄自C博客)

NOI国家集训队论文分类(至2008)(摘抄自C博客)

摘抄自C博客组合数学计数与统计2001 - 符文杰:《Pólya原理及其应用》2003 - 许智磊:《浅谈补集转化思想在统计问题中的应用》2007 - 周冬:《生成树的计数及其应用》2008 - 陈瑜希《Pólya计数法的应用》数位问题2009 - 高逸涵《数位计数问题解法研究》2009 - 刘聪《浅谈数位类统计问题》动态统计2004 - 薛矛:《解决动态统计问题的两把利刃》2007 - 余江伟:《如何解决动态统计问题》博弈2002 - 张一飞:《由感性认识到理性认识——透析一类搏弈游戏的解答过程》2007 - 王晓珂:《解析一类组合游戏》2009 - 曹钦翔《从“k倍动态减法游戏”出发探究一类组合游戏问题》2009 - 方展鹏《浅谈如何解决不平等博弈问题》2009 - 贾志豪《组合游戏略述——浅谈SG游戏的若干拓展及变形》母函数2009 - 毛杰明《母函数的性质及应用》拟阵2007 - 刘雨辰:《对拟阵的初步研究》线性规划2007 - 李宇骞:《浅谈信息学竞赛中的线性规划——简洁高效的单纯形法实现与应用》置换群2005 - 潘震皓:《置换群快速幂运算研究与探讨》问答交互2003 - 高正宇:《答案只有一个——浅谈问答式交互问题》猜数问题2003 - 张宁:《猜数问题的研究:<聪明的学生>一题的推广》2006 - 龙凡:《一类猜数问题的研究》数据结构数据结构2005 - 何林:《数据关系的简化》2006 - 朱晨光:《基本数据结构在信息学竞赛中的应用》2007 - 何森:《浅谈数据的合理组织》2008 - 曹钦翔《数据结构的提炼与压缩》结构联合2001 - 高寒蕊:《从圆桌问题谈数据结构的综合运用》2005 - 黄刚:《数据结构的联合》块状链表2005 - 蒋炎岩:《数据结构的联合——块状链表》2008 - 苏煜《对块状链表的一点研究》动态树2006 - 陈首元:《维护森林连通性——动态树》2007 - 袁昕颢:《动态树及其应用》左偏树2005 - 黄源河:《左偏树的特点及其应用》跳表2005 - 魏冉:《让算法的效率“跳起来”!——浅谈“跳跃表”的相关操作及其应用》2009 - 李骥扬《线段跳表——跳表的一个拓展》SBT2007 - 陈启峰:《Size Balance Tree》线段树2004 - 林涛:《线段树的应用》单调队列2006 - 汤泽:《浅析队列在一类单调性问题中的应用》哈希表2005 - 李羽修:《Hash函数的设计优化》2007 - 杨弋:《Hash在信息学竞赛中的一类应用》Splay2004 - 杨思雨:《伸展树的基本操作与应用》图论图论2005 - 任恺:《图论的基本思想及方法》模型建立2004 - 黄源河:《浅谈图论模型的建立与应用》2004 - 肖天:《“分层图思想”及其在信息学竞赛中的应用》网络流2001 - 江鹏:《从一道题目的解法试谈网络流的构造与算法》2002 - 金恺:《浅谈网络流算法的应用》2007 - 胡伯涛:《最小割模型在信息学竞赛中的应用》2007 - 王欣上:《浅谈基于分层思想的网络流算法》2008 - 周冬《两极相通——浅析最大—最小定理在信息学竞赛中的应用》最短路2006 - 余远铭:《最短路算法及其应用》2008 - 吕子鉷《浅谈最短径路问题中的分层思想》2009 - 姜碧野《SPFA算法的优化及应用》欧拉路2007 - 仇荣琦:《欧拉回路性质与应用探究》差分约束系统2006 - 冯威:《数与图的完美结合——浅析差分约束系统》平面图2003 - 刘才良:《平面图在信息学中的应用》2007 - 古楠:《平面嵌入》2-SAT2003 - 伍昱:《由对称性解2-SAT问题》最小生成树2004 - 吴景岳:《最小生成树算法及其应用》2004 - 汪汀:《最小生成树问题的拓展》二分图2005 - 王俊:《浅析二分图匹配在信息学竞赛中的应用》Voronoi图2006 - 王栋:《浅析平面Voronoi图的构造及应用》偶图2002 - 孙方成:《偶图的算法及应用》树树2002 - 周文超:《树结构在程序设计中的运用》2005 - 栗师:《树的乐园——一些与树有关的题目》路径问题2009 - 漆子超《分治算法在树的路径问题中的应用》最近公共祖先2007 - 郭华阳:《RMQ与LCA问题》划分问题2004 - 贝小辉:《浅析树的划分问题》数论欧几里得算法2009 - 金斌《欧几里得算法的应用》同余方程2003 - 姜尚仆:《模线性方程的应用——用数论方法解决整数问题》搜索搜索2001 - 骆骥:《由“汽车问题”浅谈深度搜索的一个方面——搜索对象与策略的重要性》2002 - 王知昆:《搜索顺序的选择》2005 - 汪汀:《参数搜索的应用》启发式2009 - 周而进《浅谈估价函数在信息学竞赛中的应用》优化2003 - 金恺:《探寻深度优先搜索中的优化技巧——从正方形剖分问题谈起》2003 - 刘一鸣:《一类搜索的优化思想——数据有序化》2006 - 黄晓愉:《深度优先搜索问题的优化技巧》背包问题2009 - 徐持衡《浅谈几类背包题》匹配2004 - 楼天城:《匹配算法在搜索问题中的巧用》概率概率2009 - 梅诗珂《信息学竞赛中概率问题求解初探》数学期望2009 - 汤可因《浅析竞赛中一类数学期望问题的解决方法》字符串字符串2003 - 周源:《浅析“最小表示法”思想在字符串循环同构问题中的应用》多串匹配2004 - 朱泽园:《多串匹配算法及其启示》2006 - 王赟:《Trie图的构建、活用与改进》2009 - 董华星《浅析字母树在信息学竞赛中的应用》后缀数组2004 - 许智磊:《后缀数组》2009 - 罗穗骞《后缀数组——处理字符串的有力工具》字符串匹配2003 - 饶向荣:《病毒的DNA———剖析一道字符匹配问题解析过程》2003 - 林希德:《求最大重复子串》动态规划动态规划2001 - 俞玮:《基本动态规划问题的扩展》2006 - 黄劲松:《贪婪的动态规划》2009 - 徐源盛《对一类动态规划问题的研究》状态压缩2008 - 陈丹琦《基于连通性状态压缩的动态规划问题》状态设计2008 - 刘弈《浅谈信息学中状态的合理设计与应用》树形DP2007 - 陈瑜希:《多角度思考创造性思维——运用树型动态规划解题的思路和方法探析》优化2001 - 毛子青:《动态规划算法的优化技巧》2003 - 项荣璟:《充分利用问题性质——例析动态规划的“个性化”优化》2004 - 朱晨光:《优化,再优化!——从《鹰蛋》一题浅析对动态规划算法的优化》2007 - 杨哲:《凸完全单调性的加强与应用》计算几何立体几何2003 - 陆可昱:《长方体体积并》2008 - 高亦陶《从立体几何问题看降低编程复杂度》计算几何思想2004 - 金恺:《极限法——解决几何最优化问题的捷径》2008 - 程芃祺《计算几何中的二分思想》2008 - 顾研《浅谈随机化思想在几何问题中的应用》圆2007 - 高逸涵:《与圆有关的离散化》半平面交2002 - 李澎煦:《半平面交的算法及其应用》2006 - 朱泽园:《半平面交的新算法及其实用价值》矩阵矩阵2008 - 俞华程《矩阵乘法在信息学中的应用》高斯消元2002 - 何江舟:《用高斯消元法解线性方程组》数学方法数学思想2002 - 何林:《猜想及其应用》2003 - 邵烜程:《数学思想助你一臂之力》数学归纳法2009 - 张昆玮《数学归纳法与解题之道》多项式2002 - 张家琳:《多项式乘法》数形结合2004 - 周源:《浅谈数形结合思想在信息学竞赛中的应用》黄金分割2005 - 杨思雨:《美,无处不在——浅谈“黄金分割”和信息学的联系》其他算法遗传算法2002 - 张宁:《遗传算法的特点及其应用》2005 - 钱自强:《关于遗传算法应用的分析与研究》信息论2003 - 侯启明:《信息论在信息学竞赛中的简单应用》染色与构造2002 - 杨旻旻:《构造法——解题的最短路径》2003 - 方奇:《染色法和构造法在棋盘上的应用》一类问题区间2008 - 周小博《浅谈信息学竞赛中的区间问题》序2005 - 龙凡:《序的应用》系2006 - 汪晔:《信息学中的参考系与坐标系》物理问题2008 - 方戈《浅析信息学竞赛中一类与物理有关的问题》编码与译码2008 - 周梦宇《码之道—浅谈信息学竞赛中的编码与译码问题》对策问题2002 - 骆骥:《浅析解“对策问题”的两种思路》优化算法优化2002 - 孙林春:《让我们做得更好——从解法谈程序优化》2004 - 胡伟栋:《减少冗余与算法优化》2005 - 杨弋:《从<小H的小屋>的解法谈算法的优化》2006 - 贾由:《由图论算法浅析算法优化》程序优化2006 - 周以苏:《论反汇编在时间常数优化中的应用》2009 - 骆可强《论程序底层优化的一些方法与技巧》语言C++2004 - 韩文弢:《论C++语言在信息学竞赛中的应用》策略策略2004 - 李锐喆:《细节——不可忽视的要素》2005 - 朱泽园:《回到起点——一种突破性思维》2006 - 陈启峰:《“约制、放宽”方法在解题中的应用》2006 - 李天翼:《从特殊情况考虑》2007 - 陈雪:《问题中的变与不变》2008 - 肖汉骏《例谈信息学竞赛分析中的“深”与“广”》倍增2005 - 朱晨光:《浅析倍增思想在信息学竞赛中的应用》二分2002 - 李睿:《二分法与统计问题》2002 - 许智磊:《二分,再二分!——从Mobiles(IOI2001)一题看多重二分》2005 - 杨俊:《二分策略在信息学竞赛中的应用》调整2006 - 唐文斌:《“调整”思想在信息学中的应用》随机化2007 - 刘家骅:《浅谈随机化在信息学竞赛中的应用》非完美算法2005 - 胡伟栋:《浅析非完美算法在信息学竞赛中的应用》2008 - 任一恒《非完美算法初探》提交答案题2003 - 雷环中:《结果提交类问题》守恒思想2004 - 何林:《信息学中守恒法的应用》极限法2003 - 王知昆:《浅谈用极大化思想解决最大子矩形问题》贪心2008 - 高逸涵《部分贪心思想在信息学竞赛中的应用》压缩法2005 - 周源:《压去冗余缩得精华——浅谈信息学竞赛中的“压缩法”》逆向思维2005 - 唐文斌:《正难则反——浅谈逆向思维在解题中的应用》穷举2004 - 鬲融:《浅谈特殊穷举思想的应用》目标转换2002 - 戴德承:《退一步海阔天空——“目标转化思想”的若干应用》2004 - 栗师:《转化目标在解题中的应用》类比2006 - 周戈林:《浅谈类比思想》分割与合并2006 - 俞鑫:《棋盘中的棋盘——浅谈棋盘的分割思想》2007 - 杨沐:《浅析信息学中的“分”与“合”》平衡思想2008 - 郑暾《平衡规划——浅析一类平衡思想的应用》。

基于能量守恒的HTPB推进剂非线性本构关系

基于能量守恒的HTPB推进剂非线性本构关系

剂 的损伤 , 提出 了损 伤本构 关系 。V r a t s a n o s 与F a r r i s
1 引 言
复合 固体 推进 剂不 仅是 固体 火箭 发动 机 的能量 物 质, 也 是 其重要 的结构材 料 , 在成 型 、 贮 存与 使 用 中 , 往 往存 在各 种机 械 与温 度 载 荷 , 引 起 各种 不 同形 式 的 微
本 构关 系 。国 内 , 彭 威 … 针 对 复 合 固体 推 进 剂 , 考 虑
粒 子增 强作用 与界 面 脱 湿损 伤 , 建 立 了含 损伤 变 量 的
面脱 湿对 宏观 本构 关 系 的 影 响 , 并 正 确 预 测 复 合 固 体
推进 剂 的力学 性 能 。
粘 弹性宏 观本 构关 系 , 并 与拉 伸 曲线对 比 , 结果 吻合 较 好 。李丹 与 胡 更 开 针 对 高 粒 子 体 积分 数 聚 合 物 材 料, 基于 L a p l a c e变换 和双夹 杂相 互作 用 的 弹性 模 型 ,
基 于能 量 守 恒 的 HT P B推进 剂 非线 性 本构 关 系
3 2 5
文章编号 : 1 0 0 6 — 9 9 4 1 ( 2 0 1 3 ) 0 3 — 0 3 2 5 — 0 5
基 于 能 量 守 恒 的 HT P B推 进 剂 非 线 性 本 构 关 系
龚建良, 刘佩进, 李 强
固体 推进 剂失 效 。在 实 验 中 , 单 独地 分 析 界 面 脱 湿 对
能 炸药 , 使用 数字 图像相 关 ( DI C) 技术 , 获取 了基体 与 粒 子 的界 面 粘 性 定 律 , 并 确 定 了模 型参 数 , 并在 R V E ( R e p r e s e n t a t i v e V o l u me E l e me n t ) 上, 使 用 平 均 化 与

【综合】Acm竞赛简介

【综合】Acm竞赛简介

Parity(ceoi99)(肖天)
• 建立sum数组,sum[i]表示从1到i之和是奇(true)还是偶 (false),sum[0]=false。这样题目中给的任意问题(a,b) 的答案都可以用sum[b] xor sum[a-1]表示。 • 开始我们并不知道sum[1..n]的值,不妨设为false,这时任意 sum[a],sum[b]都是独立的。对于每对问答(a,b,c),都可以 知道sum[b] xor sum[a-1]=c,由此把sum[b]和sum[a-1] 联系起来。这步操作可以用并查集完成,对于问答(a,b,c)如 果sum[a-1],sum[b]不属于一个集合就把它们并起来,否则 如果sum[a-1] xor sum[b]不等于c则说明出现矛盾,输出总 句数,退出。 • 对于不出现矛盾的sum数组,对于每个集合分为两个部分,我 们指定其中一个部分为true,另一个部分为false,则可以确定 sum数组,利用sum[i] xor sum[i-1]可以求出第i位的数字, 由于不同集合之间没有问答出现,所以此数列是一可行解,证 明算法正确。
• 但有时却是最好的办法
22
Pizza Anyone? (ZOJ 1219)
• 题目大意: 你需要为你和你的朋友们订一个皮萨。 每个朋友都会告诉你他们想和不想放进皮萨 里的东西。 你是否能订一个皮萨,让他满足每个人 至少一个条件。 假设一共有16种东西可以放进皮萨。
23
2 65536
16
是个对计算机很 小的数
3
ACM
ACM (Association for Computing Machinery) 成立于计算机诞生次年,是目前计算机学界中历史最 悠久、最具权威性的组织,是推进信息技术专业人员 和学生提高技巧的主要力量。ACM通过提供前沿技 术信息和从理论到实践的转化,为其全球7.5万名成 员服务,并已经成为信息科技领域的一个基本信息来 源。

国家集训队2009论文集后缀数组——处理字符

国家集训队2009论文集后缀数组——处理字符

后缀数组 罗穗骞
例 10:长度不小于 k 的公共子串的个数(pku3415) ……………23 2.4 多个字符串的相关问题 …………………………………………………23
例 11:不小于 k 个字符串中的最长子串(pku3294) ……………………24 例 12:每个字符串至少出现两次且不重叠的最长子串(spoj220)……24 例 13:出现或反转后出现在每个字符串中的最长子串(pku3294)……24 三、结束语 …………………………………………………………………………25 参考文献 ……………………………………………………………………………25 致谢 …………………………………………………………………………………25
目录
后缀数组 罗穗骞
摘要 …………………………………………………………………………………4 关键字 ………………………………………………………………………………4 正文 …………………………………………………………………………………4 一、后缀数组的实现 …………………………………………………………………4
符 串 r 的 从 第 i 个 字 符 开 始 的 后 缀 表 示 为 Suffix(i) , 也 就 是 Suffix(i)=r[i..len(r)]。
大小比较:关于字符串的大小比较,是指通常所说的“字典顺序”比较,也 就是对于两个字符串 u、v,令 i 从 1 开始顺次比较 u[i]和 v[i],如果 u[i]=v[i]则令 i 加 1,否则若 u[i]<v[i]则认为 u<v,u[i]>v[i]则认为 u>v (也就是 v<u),比较结束。如果 i>len(u)或者 i>len(v)仍比较不出结果,那 么 若 len(u)<len(v) 则 认 为 u<v , 若 len(u)=len(v) 则 认 为 u=v , 若 len(u)>len(v)则 u>v。

国家集训队2007论文集5.杨沐《浅析信息学中

国家集训队2007论文集5.杨沐《浅析信息学中

浅析信息学中的“分”与“合”福建省福州第三中学杨沐目录【摘要】..................................................................... 错误!未定义书签。

【关键字】................................................................. 错误!未定义书签。

【正文】..................................................................... 错误!未定义书签。

一、引言............................................................... 错误!未定义书签。

二、例题分析 ...................................................... 错误!未定义书签。

[例一]牛奶模版 ............................................ 错误!未定义书签。

[例二]树的重建 ............................................ 错误!未定义书签。

[例三]最优序列 ............................................ 错误!未定义书签。

三、总结............................................................... 错误!未定义书签。

【感谢】..................................................................... 错误!未定义书签。

【参考文献】............................................................. 错误!未定义书签。

国家集训队2004论文集_林涛

国家集训队2004论文集_林涛

线段树的应用广西柳铁一中林涛【摘要】在竞赛解题中,常遇到与区间有关的操作,比如统计若干矩形并的面积,记录一个区间的最值、总量,并在区间的插入、删除和修改中维护这些最值、总量。

线段树拥有良好的树形二分结构,能够高效的完成这些操作,本文将介绍线段树的各种操作以及一些推广。

本文通过3个例子:《蛇》、《空心长方体》、《战场统计系统》,讲述线段树中基本的插入、删除、查找操作,和不规则的修改和删除操作,以及到二维的推广。

关键字:线段树二分子树收缩叶子释放面积树【正文】1. 线段树的定义及特征定义1:线段树一棵二叉树,记为T (a,b),参数a,b表示该节点表示区间[a,b]。

区间的长度b-a记为L。

递归定义T[a,b]:若L>1 :[a, (a+b) div 2]为T的左儿子[(a+b) div 2,b]为T的右儿子。

若L=1 :T为一个叶子节点。

表示区间[1, 10]的线段树表示如下:(以下取对数后均向上取整)定理1:线段树把区间上的任意一条线段都分成不超过2log L条线段证明:(1)在区间(a,b)中,对于线段(c,d),如果(c<=a) 或(d>=b),那么线段在(a,b)中被分为不超过log(b-a)。

用归纳法证明,如果是单位区间,最多被分为一段,成立。

如果区间(a,b)的左儿子与右儿子成立,那么如果当c<=a时,1.若d<=(a+b)div2那么相当与其左儿子分该线段,所分该线段数树不超过log((a+b)div 2-a),即不超过log(b-a),成立。

2.若d>(a+b) div 2那么相当于该线段被分为它左儿子表示的线段,加上右儿子分该线段,线段数不超过1+log(b-(a+b) div 2),也不超过log(b-a),成立。

对于d>=b的情况证明类似,不再赘述。

(2)在区间(a,b)中,对于任意线段也用归纳法证明。

对于单位区间,最多分为一段,成立。

国家集训队2004论文集 许智磊

国家集训队2004论文集 许智磊

证。
设 Suffix(SA[i])=u,Suffix(SA[j])=v,Suffix(SA[k])=w。
由 u=LCP(i,j)v 得 u=pv;同理 v=pw。 于是 Suffix(SA[i])=pSuffix(SA[k]),即 LCP(i,k)≥p。 (1)
不难看出,这种做法是很笨拙的,因为它没有利用到各个后缀之间的有机 联系,所以它的效率不可能很高。即使采用字符串排序中比较高效的 Multi-key Quick Sort,最坏情况的时间复杂度仍然是 O(n2)的,不能满足我们的需要。
第 2 页 共 11 页
IOI2004 国家集训队论文 许智磊
下面介绍倍增算法(Doubling Algorithm),它正是充分利用了各个后缀之间的 联系,将构造后缀数组的最坏时间复杂度成功降至 O(nlogn)。
后 缀 数 组 后 缀 数 组 SA 是 一 个 一 维 数 组 , 它 保 存 1..n 的 某 个 排 列 SA[1],SA[2],...SA[n],并且保证 Suffix(SA[i])<Suffix(SA[i+1]),1≤i<n。也就是将 S 的 n 个后缀从小到大进行排序之后把排好序的后缀的开头位置顺次放入 SA 中。
出 SA2k 的复杂度就是 O(nlogn)。更聪明的方法是采用基数排序,复杂度为 O(n)。 求出 SA2k 之后就可以在 O(n)的时间内根据 SA2k 构造出 Rank2k。因此,从 SAk
和 Rankk 推出 SA2k 和 Rank2k 可以在 O(n)时间内完成。 下面只有一个问题需要解决:如何构造出 SA1 和 Rank1。这个问题非常简单:
IOI2004 国家集训队论文 许智磊
后缀数组
安徽省芜湖市第一中学 许智磊

国家集训队2004论文集_汪汀

国家集训队2004论文集_汪汀
证明:⑴必要性 设 T 是最小 k 度限制生成树,则Ⅰ,Ⅱ显然成立。 以下证明 Ⅲ:由Ⅰ,Ⅱ
可知如果(+a1,-b2)和(+a2,-b1)都是 T 的可行交换,则有ω(b2)≤ω(a1),ω(b1)≤ω (a2),故ω(b1)+ω(b2)≤ω(a1)+ω(a2); 否则,或者(+a1,-b2)或者(+a2,-b1)不是 T 的 可行交换,根据引理 1,T’=T+{a1,a2}-{b1,b2}仍然是 T 的 k 度限制生成树,则ω (T)≤ω(T’),故ω(b1)+ω(b2)≤ω(a1)+ω(a2)。 ⑵充分性
综上,求最小 k 度限制生成树算法总的时间复杂度为 O(Vlog2V+E+kV)。
3、次小生成树
3.1、次小生成树的定义
设 G=(V,E,w)是连通的无向图,T 是图 G 的一个最小生成树。如果有另一棵树 T1,满 足不存在树 T’,ω(T’)<ω(T1) ,则称 T1 是图 G 的次小生成树。
3.2、求解次小生成树的算法
通过上述定理,我们就有了解决次小生成树问题的基本思路。 首先先求该图的最小生成树 T。时间复杂度 O(Vlog2V+E) 然后,求 T 的邻集中权值和最小的生成树,即图 G 的次小生成树。 如果只是简单的枚举,复杂度很高。首先枚举两条边的复杂度是 O(VE),再判断该交换是否 可行的复杂度是 O(V),则总的时间复杂度是 O(V2E)。这样的算法显得很盲目。经过简单的 分析不难发现,每加入一条不在树上的边,总能形成一个环,只有删去环上的一条边,才能 保证交换后仍然是生成树,而删去边的权值越大,新得到的生成树的权值和越小。我们可以 以此将复杂度降为 O(VE)。这已经前进了一大步,但仍不够好。 回顾上一个模型——最小度限制生成树,我们也曾面临过类似的问题,并且最终采用动态规 划的方法避免了重复计算,使得复杂度大大降低。对于本题,我们可以采用类似的思想。首 先做一步预处理,求出树上每两个结点之间的路径上的权值最大的边,然后,枚举图中不在

第三十四届全国部分地区大学生物理竞赛北京航空航天大学获奖名单1

第三十四届全国部分地区大学生物理竞赛北京航空航天大学获奖名单1

第三⼗十四届全国部分地区⼤大学⽣生物理理竞赛北北京序号姓名专业1肖杰⽂文材料料科学与⼯工程2王磊磊⾼高等理理⼯工3陈⽅方宇吴⼤大观英才班4曹驰宇⾃自动化5胡逸⽂文⾼高等理理⼯工6陈和⽥田材料料科学与⼯工程7李李之悦电⼦子信息⼯工程8⽅方卫东⻜飞⾏行行器器动⼒力力⼯工程9李李⼦子建⾃自动化10王知冠仪器器类11王⼦子奕电⼦子信息⼯工程12孙⽂文亮电⼦子信息⼯工程13张玮杰⾼高等理理⼯工14陈玮琪材料料科学与⼯工程15张皓凯⾼高等理理⼯工16李李逸伦⾼高等理理⼯工17吴太泷宇航学院试点班18余⽅方涛电⼦子信息⼯工程19王洪宇⻜飞⾏行行器器设计与⼯工程20王信仪器器类21陈⼦子扬⾃自动化22卫昱宏电⼦子信息⼯工程23张斌电⼦子信息⼯工程24杨柳柳笛⻜飞⾏行行器器动⼒力力⼯工程25焦响电⼦子信息⼯工程26谢欣苗27苏瑞博⾼高等理理⼯工28李李亦⾮非⻜飞⾏行行器器设计与⼯工程(航天)29吴⼦子晗机械⼯工程30⽩白⼼心宇31王新煜数学与应⽤用数学32朱元治电⼦子信息⼯工程33郜义蒙⻜飞⾏行行器器设计与⼯工程(航天)35刘正邦⻜飞⾏行行器器设计与⼯工程36单森⻋车辆⼯工程37李李思远电⼦子信息⼯工程38姚⼴广宇⻜飞⾏行行器器动⼒力力⼯工程39⻩黄河清⻜飞⾏行行器器设计与⼯工程40董甜电⼦子信息⼯工程41徐浩原机械⼯工程42郝睿⾼高等理理⼯工43章⼦子晗⾼高等理理⼯工44郝斌⾼高等理理⼯工45王茂林林经济统计学46董灯鹏⾃自动化47陈智盈⻜飞⾏行行器器设计与⼯工程48温京达⾼高等理理⼯工49张⽂文鹏⻜飞⾏行行器器动⼒力力⼯工程50何信⾼高等理理⼯工51谈晟东材料料科学与⼯工程52宋新宇⽣生物与医学⼯工程学院53李李锋材料料科学与⼯工程54赵鑫材料料科学与⼯工程55王佺峰电⼦子信息⼯工程56饶世杰电⼦子信息⼯工程57张舜禹电⽓气⼯工程及其⾃自动化58唐开航仪器器类59丁振辉⾼高等理理⼯工60裴凡迪电⼦子信息⼯工程61张宗鲲电⼦子信息⼯工程62谢宇涵⾃自动化63刘⽂文杰⻜飞⾏行行器器设计与⼯工程64李李思琦电⽓气⼯工程及其⾃自动化65王逸⻜飞⻜飞⾏行行器器设计与⼯工程66肖正毅数学与应⽤用数学67李李泊远⻜飞⾏行行器器质量量与可靠性68谭平安⻜飞⾏行行器器设计与⼯工程69屈瑞⻜飞⾏行行器器设计与⼯工程71⻢马宝铠⾼高等理理⼯工72李李修川⾃自动化73李李毅沣吴⼤大观英才班74杨泽轩⻜飞⾏行行器器设计与⼯工程75段峙宇⻜飞⾏行行器器质量量与可靠性76苗恒电⼦子信息⼯工程77罗安平⻜飞⾏行行器器动⼒力力⼯工程78李李帅帅⽣生物与医学⼯工程学院79李李昊⻜飞⾏行行器器质量量与可靠性80陈⼩小琦⻜飞⾏行行器器质量量与可靠性81冯家⻬齐宇航学院试点班82岳娇材料料科学与⼯工程83潘圣睿电⼦子信息⼯工程84史鼎元⾼高等理理⼯工85郭信良⻜飞⾏行行器器设计与⼯工程86陈思吉⻜飞⾏行行器器设计与⼯工程87朱⽴立鹏⻜飞⾏行行器器设计与⼯工程88杨新源仪器器类89王燕嘉吴⼤大观英才班90王耀国仪器器类91李李宗哲应⽤用化学92王宇轩电⼦子信息⼯工程93陈恩⺠民⾃自动化94赵⽂文宇⾃自动化95纪宇帆⻜飞⾏行行器器动⼒力力⼯工程96江泽鑫⻋车辆⼯工程97王聪⻜飞⾏行行器器质量量与可靠性98叶泽权⻜飞⾏行行器器设计与⼯工程(航天⼯工程)99⻢马欣阳⾃自动化科学与电⽓气⼯工程学院100王昆宇航空科学与⼯工程101朱诗瑶电⼦子信息⼯工程102魏⽂文萱机械⼯工程103⻩黄鑫辉⻜飞⾏行行器器设计与⼯工程(航天) 104郝睿阳⾼高等理理⼯工105宋鸿伟电⼦子信息⼯工程107沈沈⼀一凡⾃自动化108卢婉秋⻜飞⾏行行器器动⼒力力⼯工程109⻰龙程⻜飞⾏行行器器设计与⼯工程110姚毅⻜飞⾏行行器器设计与⼯工程111吴⾦金金波数学与应⽤用数学112郑明悟计算机113周祥跃电⼦子信息类114蒋楠电⼦子信息⼯工程115王涵斌⻜飞⾏行行器器设计与⼯工程116袁瑞⾠辰辰仪器器类117李李思然计算机科学与技术118李李舒婷电⼦子信息⼯工程119汪寅鹏电⼦子信息⼯工程120王煜栋⻜飞⾏行行器器动⼒力力⼯工程121谭铁⼷弋吴⼤大观英才班122嵇凝⻜飞⾏行行器器设计与⼯工程123冯凯凯⻜飞⾏行行器器设计与⼯工程124罗浩健⻜飞⾏行行器器设计与⼯工程125廉若菡⻜飞⾏行行器器质量量与可靠性126王效贤仪器器类127段书航电⼦子信息⼯工程128张昱琛⻜飞⾏行行器器动⼒力力⼯工程129陈柏材⻜飞⾏行行器器设计与⼯工程130孙康⻜飞⾏行行器器设计与⼯工程131赵蔚然⾼高等⼯工程(华罗庚数学班)132杨嘉睿材料料科学与⼯工程133赵婧姣⾃自动化134⻋车俊新⻜飞⾏行行器器动⼒力力⼯工程135朱芳宜电⼦子信息⼯工程136张敬雯电⽓气⼯工程及其⾃自动化137寇少博⻜飞⾏行行器器设计与⼯工程138朱炳毓⻜飞⾏行行器器质量量与可靠性139李李豪⻜飞⾏行行器器质量量与可靠性140刘宇迪⻜飞⾏行行器器质量量与可靠性141李李怡凡宇航学院试点班143于万欣材料料科学与⼯工程144张琛煜电⼦子信息⼯工程145董少鹏电⼦子信息⼯工程146张思⻜飞电⼦子信息⼯工程147王勃⻜飞⾏行行器器动⼒力力⼯工程148邢家熙⻜飞⾏行行器器设计与⼯工程149张祎璇机械⼯工程150何峥⻜飞⾏行行器器质量量与可靠性151蒋宽⻜飞⾏行行器器质量量与可靠性152姚敦靖材料料科学与⼯工程153张庆兵电⼦子信息⼯工程154王俊杰⾃自动化155王⽂文斌⻜飞⾏行行器器动⼒力力⼯工程156⾼高星宇数学与应⽤用数学157⾼高昊天⻜飞⾏行行器器质量量与可靠性158郝悰电⼦子信息⼯工程159夏昊翀电⼦子信息⼯工程160梁梁京涛电⼦子信息⼯工程161王晨阳⾃自动化162何⾦金金⻁虎⻜飞⾏行行器器动⼒力力⼯工程163梁梁健强⻋车辆⼯工程164陈宏宇材料料科学与⼯工程165汪虹宇材料料科学与⼯工程166周琪杰材料料科学与⼯工程167曲研畅电⼦子信息⼯工程168王禹斐⻜飞⾏行行器器设计与⼯工程169雷雷⻓长峄机械⼯工程170卓钇江机械⼯工程171詹迪仪器器类172陈则⾮非电⼦子信息⼯工程173王伟哲电⼦子信息类174董⾬雨卓⻜飞⾏行行器器设计与⼯工程175杨⽴立⻜飞⾏行行器器设计与⼯工程176张明辉计算机学院177张笑从⾼高等理理⼯工179贾倩楠材料料科学与⼯工程180袁家润材料料科学与⼯工程181赵天赐⻜飞⾏行行器器设计与⼯工程182关天洋⻜飞⾏行行器器适航技术183周路路⻋车辆⼯工程184⻩黄⽂文欢⾼高等⼯工程(华罗庚数学班)185⽑毛岳应⽤用物理理学赛北北京航空航天⼤大学获奖名单考⽣生类别获奖⾮非物理理A类特等奖⾮非物理理A类特等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⾮非物理理A类⼀一等奖⽂文科、经管类⼀一等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类⼆二等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖⾮非物理理A类三等奖物理理类组三等奖。

弹丸飞行时间拟合误差对射击诸元误差的影响

弹丸飞行时间拟合误差对射击诸元误差的影响
b a s i c i f r i n g t a b l e , t h e a r t i c l e p u t s f o r w a r d t h e a n a l y t i c e x p r e s s i o n s o f i f r i n g e r r o r s wh i c h c a u s e d b y e ro r s
o f t i me i f t t i n g .Mo r e o v e r , i t a n a l y z e s t h e e f f e c t o f l f y i n g t i me i f t t i n g e r r o r s t o e l e v a t i o n a n d s h o o t i n g
弹丸飞行时问拟合误差对射击诸元误差的影响 冰
付 小锋 , 梁先 洪 , 张桂 花 , 王 军
( 1 . 中国兵器装备集 团成都火控技术 中心 , 成都 6 1 1 7 3 1 ; 2 . 南京理工大学 , 南京 2 1 0 0 9 4 )

要: 分析 了基本射 表中弹丸飞行时间拟合误差 对射 击诸元误差 的影响 , 给出 了因时 间拟合 误差引起 的射击
Ab s t r a c t : T h r o u g h t h e a n a l y s i s o f t h e e f f e c t o f p r o j e c t i l e l f y i n g t i m e i f t t i n g e l T o r s t o i f r e d a t a i n t h e
Vo 1 .3 8. No . 7
火 力 与 指 挥 控 制

DNA序列中模式发现的一种快速算法

DNA序列中模式发现的一种快速算法

DNA序列中模式发现的一种快速算法生物物理第二十一卷ACTABII)】,lIYSICAs】ICA第二期二oo五年四月V oL21No.2Apr.2005DNA序列中模式发现的一种快速算法李冬冬,王正志,杜耀华,晏春(国防科技大学自动控制系,长沙410073)摘要:模式发现是生物信息学的一个重要研究方向,但目前的大部分算法还不能保证获得最优的模式.文章推导了针对三个序列片段相似性关系的判据,将其作为剪枝规则,提出并实现了一种深度优先的穷举搜索算法——判据搜索算法(criterionsearchalgorithm,CRISA),理论分析表明,对绝大多数模式发现问题,CRISA具有多项式的计算时间复杂度和线性的空间复杂度.对仿真的和实际的生物序列数据的测试也表明,CRISA能够快速而完全地识别出序列中所有的模式,具有优于其它算法的总体评价,能够应用于实际的模式发现问题.关键词:模式发现;判据;深度优先搜索中图分类号:O6l1引言所谓模式(motif)就是指DNA序列中保守的序列片段.通常人们认为DNA序列总是处于不断的突变过程中,而其中的某些区域,比如启动子区域,由于对生物体的生存具有至关重要的意义,因而在进化的过程中更保守一些,并表现为DNA序列中的模式.另一方面,一个保守的序列片段往往意味着一个重要的功能区域,它们通常对应着DNA序列中重要的功能性或结构性元素.从DNA序列中发现这些模式的过程就是模式发现(motif finding),它是生物信息学的一个重要研究内容.模式发现有助于决定序列的功能和阐明序列之间的进化关系,并且在识别DNA序列的调控信号方面有着重要的应用.模式发现的问题可以描述为【1]:给定一组个)DNA序列(称为样本),每个序列的长度为J7,r,寻找一个长度为Z的序列片段(模式),它至少在个样本中出现,在每次出现中最多可以有d个不匹配的碱基.这样的序列片段称为(1,一模式,它在样本中的出现称为实例.对模式发现问题已经提出了若干算法【,但是,Pevzner和Sze【1]的工作表明,这些算法对一个(15,4)的模式法发现问题(所谓的挑战问题,以下称标准测试问题)的执行效果都不理想.因此,他们提出一个称为WINNOWER的算法【1]来解决这一问题.随后,一些更加有效的算法也被提了出来,包括Bulher和TompaIs的随机投影算法,Keich和PevznerM的MULTIPROFILER算法,Eskin和Pevzne~的M1TRA算法以及Price等嘲的Branching 算法等,它们都能够较好地解决标准测试问题.其中,MITRA算法是穷举搜索算法嘲,它能够确保找到最佳模式(如果存在的话),其他算法有的并非穷举搜索算法,有的则是采用了启发式规则的穷举搜索算法【tAT],然而都存在不同程度的丢失最优解的可能.另一方面,对标准测试问题的计算结果表明,M1TP,A算法所需的计算时间要远远多于其他的算法,其内存使用量也是相当大的,这是它的不足之处.最简单的模式发现算法是基于模式的算法[10,11] (patterndrivenalgorithm,PDA),它依次检验所有的4j个长度为Z的序列片段,对它们在DNA序列中出现的实例给出得分,从而找出其中具有较高得分的模式.由于PDA的计算复杂度是Z的指数函数,因此,对于较大的Z,这样的算法是不现实的.在PDA的基础上,人们又提出了基于样本的算法【4](sampledrivenalgorithm.SDA),其基本思想是对样本中的每个长度为Z的序列片段,计算出它的满足一定条件的相邻序列片段集合,并在这个集合中进行搜索.由于此时的搜索空间(相邻收稿日期:2004-06-04基金项目:国防科大基础研究项目JCO2-03-021通讯作者:李冬冬,电话:(0731)4574991,****************************生物物理20o5年片段集合)远远小于基于模式的算法的搜索空间,因而能够获得高得多的计算效率.目前较为有效的算法都利用了这一思想,只不过在减小搜索空间的策略上各不相同,比如随机投影算法嘲就是采用的随机性优化过程,而PattemBranching算法tgl采用的是启发式的优化过程,M1TRA则是采用SDA进行穷举搜索的一个例子.本文提出了一种新的SDA穷举搜索算法:判据搜索算法(criterionsearchalgorithm,CRISA),它采用本文中提出的针对三个序列片段相似性关系判据作为剪枝规则,能够有效地裁减搜索空间,从而获得较高的执行效率.对算法的理论分析和实验测试(仿真数据和真实的生物序列数据)表明, CRISA具有良好的执行效率,能够快速而完全地识别出序列中所有的模式,这使得它具有优于其它算法的总体评价,能够应用于实际的模式发现问题.2方法当我们从一组序列中寻找一个模式的时候,我们实际寻找的是它在每个序列中的实例,之后再从这些实例中恢复出这个模式.例如,对一个(Z,-k的模式发现问题(样本集合为凡个长度为Ⅳ的序列),我们首先从k个不同的样本中选择k个长度为Z的子序列(这k个子序列称为一个子序列组, 或者简称为一个组),然后尝试恢复出一个模式,使得每个子序列与该模式之间不超过d个不匹配的碱基(也称为两者的距离不超过d),如果能够恢复出这样的一个模式,那么这个组就是有效的.从样本序列中找出所有的有效组是模式发现问题的关键,一旦某个模式的有效组被找到,就可以采用一些简单的方法(比如位置权重矩阵)来恢复这个模式.为了使讨论简洁,这里我们假设k=凡成立(即在每个样本中都至少存在一个实例),由此得到的算法与没有这个条件时的算法之间的区别是很小的,我们将在后文讨论这一差别.很明显,最简单也是最直接的方法是测试所有可能的子序列组,但这一算法的复杂度是样本数目的指数函数,因而是不现实的.实际上,在通常的模式发现问题中,绝大多数的子序列组是无效的,它们不可能被用于恢复出一个模式,这就需要一种能够及早判断出无效子序列组的方法,它可以在完全列出一个子序列组之前就判断出它是否有效,从而提高算法的效率.一种简单的判断方法建立在这样一个事实的基础之上:一个模式的任何两个实例之间的距离不超过2d.由此可以得到如下的必要条件:d(P.,P)≤2d,i1#i2,0≤i1,≤凡一1(1)即:一个有效的子序列组,其中的任意两个子序列之间的距离不超过2d.公式(1)中,d(置y)为序列和y之间的距离,ik是子序列组中的第k 个子序列.我们称这样的一个必要条件为一个判据,这样,公式(1)就是一个判据,下文称之为判据1.使用判据1,我们能够设计一种从样本中寻找所有有效组的算法.首先,我们从第一个样本中选择一个子序列,并把它加入到候选组中,在此之前这个候选组是一个空集.然后,对下一个样本进行扫描,寻找一个子序列,它对候选集中的每个元素都满足判据1.如果找到了这样的一个子序列,将它加入到候选集中,并对下一个样本继续执行这一操作,直到所有的样本都完成了扫描或者在某一个样本中无法找到一个满足条件的子序列为止.在前一种情况下,候选组中所包含的子序列就是一个有效组,我们就可以从中恢复出一个模式.而在后一种情况下,就需要向前回溯一步,进行下一次扫描.当第一个样本中所有的子序列都被扫描过以后,算法结束.虽然这个算法很简单,它却具有一个很好的特性:如果样本中存在一个(f,模式,此算法一定能够把它找出来.然而,另一方面,它也有着致命的缺陷:由于判据1仅仅检查两个子序列之间的关系,判据太松,许多不能恢复出模式的随机组也能够满足这个判据,因此,真正的有效组将会被这些漏网的无效的随机组淹没.显然,一个判据能够检查越多的子序列之间的关系,就能够排除掉越多的无效组,从而能够更容易地发现真实的模式.按照这一思想,我们提出了如下针对三个子序列的判据,并且实现了判据搜索算法CRISA.对任意的三个子序列0,Q和R,设d(O,Q)-----x.因此,在0和Q之间存在个不同的碱基,其余的Z个碱基是相同的,不妨假设子序列的前个碱基是不同的.这样,这三个子序列可以分别写成0=0+D:,Q=Q+Q:和R=R十R:,它们满足:第2期DNA序列中模式发现的一种快速算法l0.l=lQ.l=lR.l,lD:l=lQ:l=lg:l=z(2)d(o,Q)=d(02,Q2)=0(3)其中lQl表示序列片段Q的长度.定义两个序列A和的复合序列C为它们的各个位置上相应碱基的"或"操作,即C中的每个碱基表示A和相应位置上的两个碱基的并集,记为C=AuB.定义复合序列C与普通序列A之间的距离为: c,A)=∑::.f0,Ec'尸1z,其他(4)(5)设d(O2,R2)=-d(Q:dCg=z,d(O.uQ..)=y,如果这三个节点是来自于一个(f,模式,那么下面的判据不等式组成立:≤2),≤2z≤2dz≤2y&lt;~3d-x),≤(6一1)(6—2)(6—3)(6-4)这里,Il是不小于的最小整数.证明:不等式(6—1)显然是成立的.对(6-2),如果我们把模式也写成.叫的形式,那么,由于d(OQg=O,易知d(Oz,M2)=d(Q:2).由于d(D=d(D.,.)+D2,≤dd(QQ??)Q:≤d并且:x=d(O?,Q?)≤d(O??)+Q??)故有:d(O?.)+Q??)(D2+d(Qz,M2)&lt;~2dx+2d(Q2M2)≤2dd(Q:≤I鲁l(7)在公式(7)的最后一步推导中,我们用到了d(Q:是整数这个性质.从假设中我们知道,R2≤R≤d,因此:z=d(Qz~2)≤d(Q2M2)+d(R2,≤d_+d=2d-~从而(6—2)式成立.为证明(6—3),我们将下标为1的部分序列再进行分解,由d(O.uQ.,R.)=y可知,三个片段(D.,Q.和R.)在Y个位置上的碱基各不相同.因此,这些片段可以写成0.=D..+D.:,等,它们满足:d(On,Q??)(D)(Q)=10..I(9)使用条件d(O.uQ.,R.)=y和公式(9),得D..uQ..??)=y.由于d(O..)(D....)(D?2I2)≤dd(Q.?)(Q)(Q?:?2)≤d故有:d(O..??)(Q)(D?2?2)Ql2?2)≤(10)注意到d(O.,Q.),d(O¨,Q..)=y,于是:a(o.2,.2)+Q.2,.2)≥d(D?2,Q?2)=—,,(11)设d(O..uQmM..),这就是说,在m个位置上,子片段0..和Q..中的碱基都与肘..中的不同,而另外y-m个位置上,则有一个子片段的碱基与..的不同(因为0..和Q..中的每个碱基都不相同).因此:d(Olll1)(Qlll1)&gt;I2m+y-m=y+m(12)将(11)和(12)代入(10),得:m+≤2d(13一1)即d(OlluQlll1)&lt;~2d-x(13—2)由于d(O..uQ....)=y以及d(M....)≤d,从而有:y=d(O..uQ)≤d(D??uQ??..)()),≤2d+3d(14)因此(6—3)成立.从d(O2,R2)=z,d(O..uQ....)=y,以及公式(7)和公式(13),可知:y+z=d(Ollt.JQlll1)+D22)≤d(DlluQlll1)Rlll1)+D2,蚴(R2≤d(D..uQ....)(D)+d(R≤(2d—)+(d—I鲁ldL厶_J=一l÷l(15)L厶_J因此,不等式(6—4)成立.证毕.不等式组(6)就是针对三个子序列的判据(判据2).它是一个必要条件而非充分条件,因此,某个模式(Z,的有效组中的任意三个子序列都将满足这一判据.但是,如果一个组中的任意三个子序列都满足判据2,它们却不一定属于同一个(Z,模式,这里有一个假阳性错误概率.寻找针对四个或者更多子序列的判据是可能的,它们将具有124生物物理2oo5年更小的误判概率,然而,寻找这样的判据是困难的,而且其相应的算法也会更加复杂.另一方面,我们对CRISA的分析和测试表明,利用判据2实现的算法是足够有效的.3算法实现我们的目标是要从凡个长度为Ⅳ的样本中寻找所有的(f,一凡模式.采用下面的方法,我们设计了CRISA算法,它是一个深度优先的搜索算法, 采用判据2作为其剪枝规则.首先,我们把样本中所有的子序列列成凡行,来自于同一个样本的子序列列在同一行上.然后, 为相邻两层中的任意两个子序列建立一个连接,从而构成一个层次图,其中,子序列是图的节点,这些子序列之间的连接就是图的边.在这样的层次图中,一个子序列组(有效的或无效的)就表现为一条从第一层到最后一层的一条通路,我们的任务是寻找所有的有效组(它们也被称为有效路径).一个简单的示意图如图1所示..1Thelayergraphformotiffinding图中的方框表示子序列(节点),表示第i个样本中的第,个子序列,同一层中的子序列来自于同一个样本.从第一层到第凡层的路径表示一个子序列组(有效的或无效的),路径上的每一个节点对应于相应样本中的子序列.在这个层次图中的每一层上都有(+1)个节点,因而图中共有(Ⅳ一Z+1)条路径.如果简单地对所有的路径进行检验以找出其中的有效路径,其计算复杂度将是o(N-),这是不能实际应用的.因此,我们提出了一种深度优先的搜索算法一判据搜索算法CRISA,它使用判据2作为剪枝规则,对通常的模式发现问题,该算法的复杂度为Ⅳ和n 的多项式函数(见后文).完整的CRISA算法如下:1)算法开始2)外循环:对第一个样本中的每个子序列Pl(其长度为Z),执行:(1),初始化部分路径为=(,并置,l≤≤凡(2),置i=2(3),内循环:执行下面的操作,直到i=1为止:①如果k~&gt;N-l+l,向上回溯一层②否则:a,对第i层中的子序列和中每两个子序列,都使用判据6进行一次检查b,如果通过了所有的检查,把它加入到部分路径£中,并检查下一层中的节点(如果&lt;n)或者输出路径并回溯一层(如果);否则:置.1(4),内循环结束3)外循环结束4)算法结束在进行算法测试的时候,我们发现得到的输出路径往往是一组路径而不是一条最优路径,而且这些路径之间只有个别的节点存在差别.出现这一现象的原因就是我们前面提到的算法中存在的误判概率,即某些节点偶然地通过了判据验证,从而使得一条非最优的路径得到了扩展的机会.我们通过一个简单的后处理来解决这一问题,即首先记录所有的输出路径,当内层循环结束以后,为这些路径上的所有节点(序列片段)建立位置权重矩阵,由此得到其中的保守序列.在前面的算法讨论中,我们假定了条件k--n.当此假设不成立的时候,算法需要在两个地方进行修改.首先,此时我们不能确定参考序列中一定含有一个实例,因此,我们应该至少进行n-k+1次运算,每次选择一个不同的样本序列作为参考序列,由此可以保证至少在一次运算中找到正确的模式.其次,在这种情况下,我们所找到的路径中可以只包含k个节点,也就是说,允许路径中在凡个层上不包含合法的节点.因此,我们在算法中引入了空节点,即在每一层节点中,额外添加一个特盯惯第2期DNA序列中模式发现的一种快速算法殊的节点,对包含空节点的部分路径,如果它满足:1)它的由其它节点(正常节点)构成的部分路径是有效的;2)该部分路径中的空节点数目不超过/'t—k.那么此包含空节点的部分路径就是有效的.这样,在算法的第12行,我们就能够采用这个标准来判断部分路径是否有效,从而使得算法能够找到这种包含空节点的有效路径.4复杂度分析为了计算算法的复杂度,我们定义通过概率P为任意三个子序列满足判据2的概率.如果这三个子序列是独立的,并且如果序列中四种碱基的出现是等概率的,那么,通过概率可以计算如下:p=(寻)(1)?∑()?ycz(3)(1)(16)这里,Y和z的定义与判据2相同,并且满足判据2.如前所述,判据2应该被使用三次,每一次选择一条不同的子序列作为其中的第三条子序列,这三次使用的效果可以综合成一个新的判据2',由此能够计算出相应的新的通过概率P'.判据2'具有与判据6—2相似的形式和推导方法,这里略去了它们的表达形式,而只在表1中列出了P'的常用数值.Table1Passprobabilitiesofsomenormalmotifs在CRISA中,任意的子序列以≥3)都会被检查,次,每一次检查针对部分路径中的两个节点(记为和y)和进行.由于部分路径中的节点是不独立的(除了i=3的情况),这里的通过概率应该是一个条件概率,其条件是和y在同一个部分路径中(这个概率近似为pea).因此,当i&gt;3 时,CRISA中的通过概率可以近似为p'/p.这里: d.ij—ip(寻)(1)(17)它是两个子序列之间的距离不超过d的概率.表中,Z是子序列的长度,d是最大不匹配数目,P和P'分别是判据2和判据2'的通过概率,P是两个子序列之间的距离不大于2d的概率.我们用W1表示从第一层中的节点出发到达第i层的部分路径的数目,显然有:W1(18—1)W==,v-l+1(18—2)对后面的层次,如果没有剪枝规则,那么将会有?(Ⅳ一Z+1)条部分路径到达层次i.由于在CRISA中,剪枝规则是判据2',因此,在W的表达式中将会增加一个概率因子(Pl/p.这里,我们使用参数作为一个近似的指数,如果对c三,次独立的检查,这个指数就是,,而对于完全不独立的检查(所有的检查是完全一样的),这个指数将是1(因为至少有一次检查),故1≤0ci≤c'_,.由此,有:W—Wi-ld~(N-/+I)?(P'/p一(N-l+1)H?(P?/p∑=,3≤≤n(18—3)这样,CRISA的算法复杂度可以计算为:N-I+Ico唧=∑∑?.?T(19)』=1'3其中,是采用判据2(判据2')进行一次检查所需要的时间,对固定的参数Z和d,它是一个常数.将(18)代入(19),有:c.n一(Ⅳ一f+1)∑(Ⅳ一f+1)H(P?/p~)E2一.(2o)i=2 这是一个非常复杂的表达式,为了得到一个简生物物理2005钲洁的计算复杂度上界,我们把所有的参数都设为1(因为是一个概率的指数),忽略掉N一/+1中的z一1项,并使用i2代替《.,得到:comp~-N2T?(Np'|piffi2n&lt;^(Np'(21)i=2因此,如果'&lt;1,(21)式中的求和项将是一个常数,此时的算法复杂度将是0(J7,7:铲, 这是n的多项式函数,而如果'&gt;1,那么算法复杂度的上限将是O((Np'/p,这是n的指数函数.上述结论是在把所有的参数嘶都设为1以后得到的,但是实际上,由于是《.次检查的通过概率的指数,而且这些检查并不是完全不独立的, 因此,的实际值要大于1,并且随着的增大而增大.这样,这个计算复杂度还可以降低.以极端情况为例,即如果所有的检查都是独立的,那么01.,因此,(20)可以写成:c.唧('(22)显然,只要p'&lt;1,所有的i&gt;io有:业&lt;1就会存在某个如,使得对于(23)此时.(22)式中的求和项将收敛到一个常数,算法复杂度是0(,这是一个n的多项式函数.但是如果p'&gt;1,那么算法复杂度的上限将—n—.21,是D((P),这是凡的指数函数.判据'&lt;1比判据p'&lt;1的要求严格得多.在所有情况下,只要&lt;1,我们就可以断言,算法的复杂度是序列数n的多项式函数.从表1中可以看到,许多通常的模式都是满足条件ⅣpI/p&lt;1的.而且我们刚才的分析表明,对表1 中那些不满足条件Ⅳp'&lt;1的模式,由于参数嘶的存在,算法的复杂度仍然可能是序列数n的多项式函数(在所有检查都是在独立的情况下,只要p?/p&lt;1,就可以使得算法的复杂度是序列数n的多项式函数).这就是为什么CRISA适用于绝大多数模式发现问题的原因.至于算法的空间复杂度,由于我们采用的是深度优先的搜索算法,所需要的内存相当少:在构造层次图的时候,需要记录每个节点在输入序列中的位置:在搜索的过程中,需要记录当前的局部路径以及与之相关的判据,并为每个层次保留一个搜索指针;当搜索到一条合适的路径时,为它构造一个位置权重矩阵,并记录其一致序列作为输出.这些内存开销都很小,它们不超过输入序列的线性函数.实际上,CRISA算法的主要内存开销在于保存输入的样本序列:我们对算法的测试表明,对标准测试问题,算法的内存约为20K,其中输入数据就占了约12K.5算法测试我们采用模拟数据和真实的生物序列数据分别对算法进行了测试.模拟数据的产生方法如下:首先随机产生一组个)样本序列,每个样本序列长度为J7,r,并产生一个长度为Z的随机序列片段, 以之作为待发现的模式.之后,随机选择k个样本序列,在每个样本序列中,随机选择一个位置,1≤≤Ⅳ-f.用模式的一个实例替换从开始的Z个碱基.这个实例也是随机产生的,其产生方式是从模式中随机选择,,(,,≤个碱基,并用不同的碱基加以替代.在所有的测试中,我们使用的参数为n=20,N=600,这也是标准测试问题的参数.表2中给出了对CRISA的测试结果,作为对比,表中还列出了M1TRA算法对同样难度的问题的测试结果嗍.对模式识别问题,算法的计算时间不仅与算法本身相关,还与识别的模式相关.Keich和Pevzn-e以及Buhlet~s都对此作出了分析,其分析基本相同.这里我们采用Buhler给出的近似公式,为:f,=4'(1一(1--pa1)N--I+I),I(24)dp∑(要)t)'(25)i=0't.t其中E(1,是在随机选择的k个长度为n的序列中,存在的(2,模式的期望数目,此模式在每个序列中至少出现一次.显然,E(f,越大,表示随机模式越多,因而真实的模式就越弱.如果这个数字接近或者超过1,模式将不可识别.因此,它可以作为对模式的一个近似衡量指标,对表2中的各个测试模式,我们给出了它们的E(f,值.另一方第2期DNA序列中模式发现的一种快速算法面,如前所述,通过概率影响着CRISA的计算复杂度,我们把它也列在了表中.需要说明的一点是,由于我们无法对MITRA和CRISA采用相同的数据进行测试,因而表中的测试结果只是对具有相同参数的随机样本序列集合的测试结果,其中,MITRA的结果来自于原始论文嘲.因此,表中的数值只应该看作是一个近似的比较.Table2TheperformanceofMITRAandCRISANote:fora1ltes乜listedinthetable,n=20andN=600.E(1,d)istheexpectednumberofrandommotif~ appearingatleastonceineachsequence.TIME/MEMisthecomputetime(inseconds)andma ximummemoryoccupied(inmegabytes).MITRA—CandMITRA-GatethetworealizationofMITRAwithalittledifference.Pass/)rob.isthepassprobability.Blankentries'-/-'meansthatthealgorithmfailedt osolvetheprobleminreasonabletimeperiod.MITRAiSperformedonmachinewithaPentiumm750ⅫzprocessorandlGBofRAM.andCRISAisperformedonmachinewithaPentiumm733Ⅻzprocessorand256MofRAM.whosecomputetimeisaveragedby10runs.使用E(j,为标准,我们能够把表2中的模式分为3类:2,4,6和7是非常微弱的模式,1,3,5是较弱的模式,而8和9是较强的模式.但是这种分类与两种算法的结果都不匹配.按照通过概率,我们能够得到一个更加合理的分类:4,6和7是非常微弱的模式,2,3和5是较弱的模式,而1,8和9则是较强的模式.对这两种算法,模式越强,算法所需的计算时间越少.表2中的结果表明,对后两类模式,CsA远远快于M【T】RA算法,对第一类模式,CRISA在一个模式上快于MITRA,而在另两个模式上慢于MITRA.另一方面,对表中所有的模式,CSA使用的内存数仅仅为几十干字节,这一数值要远远小于MITRA算法的几兆甚至几十兆字节.这表明,CRISA能够在绝大多数的模式发现问题中工作得很好.对标准测试问题,我们比较了几种最新算法的执行效果,结果在表3中.从表中可以看到,CRISA与MITRA是基于穷举法的完全搜索,它们能够保证找到样本中存在的模式,而其它三种算法都会出现丢失模式的可能.但是MITRA的计算时间最长,而CRISA的速度仅次于PattemBranch- ing,快于另外三种算法.这里我们必须指出,由于我们不能采用相同的测试数据对这些算法进行测试,表中的结果都是从原始论文中获得的,因而这种比较的结果只能大致地反应算法的执行效果之间的关系.Table3TheperformanceofCRISAandSOmeother algorithms生物物理2005生最后,我们选择了一些包含已知模式的实际生物序列对CRISA进行了测试,这些样本集合包括: 一组包含经过试验验证的E.coli的CRP绑定点信号的序列,一共18条,每条的长度为105个碱基【I51.一组包含酵母的转录调控子PDR3的序列,一共有7条,每条序列的长度为500碱基【-同.一组包含酵母DNA绑定位点USR1信号的序列,共l1条,每条长550个碱基【.其中的后两组数据来自于SCPD数据库【-圈.这里,由于USR1信号可以在DNA序列的互补链上出现,因此,我们把原始序列与它的逆向互补链相连,再进行计算,以此来寻找这些互补链上的模式.Table4ResultofCRISAOnE.Co//CRPsample表中,CSAmotif中的N表示在该位置上没有一种碱基能够在超过一半的实例中出现,加粗的字符表示与参考模式相符的字符.从表中可以看到,我们的CSA算法在CRP样本组中发现了三个模式,它们实际上是同一个模式的不同位移,并且都包含了参考模式;对PDR3样本组,CSA发现的模式也与参考模式符合得相当好;只是对USR1样本组,CSA发现的模式与参考模式之间存在明显的偏差.我们检查了算法的结果,发现原始文献【-可所给出的参考模式并没有考虑逆向链上的模式,而从SCPD中获得的原始数据则表明,一些信号被明确地加上了C标志(complement),因此我们认为这些信号应该是能够出现在逆向链上的,而且,在测试中,CRISA算法所找到的实例的位置与SCPD中所标出的信号位置完全一致,因此,我们认为CRISA算法所发现的模式是可信的.6讨论本文中,我们提出了一种描述三个序列片段相似性关系的判据,使用这一判据作为剪枝规则,我们实现了一种新的深度优先搜索算法一判据搜索算法(criterionsearchalgorithm,CRISA)来寻找一组DNA序列中的模式.我们对CRISA进行了深入的分析,并采用仿真数据对算法进行了测试,。

国家集训队2004论文集_许智磊(后缀数组)

国家集训队2004论文集_许智磊(后缀数组)

第 1 页 共 11 页
IOI2004 国家集训队论文 许智磊
基本概念
首先明确一些必要的定义: 字符集 一个字符 集Σ是 一个建立了 全序关系的集合,也就是说 ,Σ 中 的任意两个不同的元素 α 和 β 都可以比较大小,要么 α<β,要么 β<α(也就是 α>β) 。字符集Σ中的元素称为字符。 字符串 一个字符串 S 是将 n 个字符顺次排列形成的数组,n 称为 S 的 长度,表示为 len(S)。S 的第 i 个字符表示为 S[i]。 子串 字符串 S 的子串 S[i..j],i≤j,表示 S 串中从 i 到 j 这一段,也就 是顺次排列 S[i],S[i+1],...,S[j]形成的字符串。 后缀 后缀是指从某个位置 i 开始到整个串末尾结束的一个特殊子串。 字符串 S 的从 i 开头的后缀表示为 Suffix(S,i),也就是 Suffix(S,i)=S[i..len(S)]。 关于字符串的 大小比较,是 指通常所说 的“字 典顺序 ”比较 ,也就是对 于 两个字符串 u、v,令 i 从 1 开始顺次比较 u[i]和 v[i],如果 u[i]=v[i]则令 i 加 1, 否则若 u[i]<v[i]则认为 u<v,u[i]>v[i]则认为 u>v(也就是 v<u) ,比较结束。如 果 i>len(u) 或 者 i>len(v) 仍 比较 出 结 果 , 那么若 len(u)<len(v) 则 认为 u<v , 若 len(u)=len(v)则认为 u=v,若 len(u)>len(v)则 u>v。 从字符串的大小比较的定义来看,S 的两个开头位置不同的后缀 u 和 v 进行 比较的结果不可能是相等,因为 u=v 的必要条件 len(u)=len(v)在这里不可能满 足。 下面我们约定一个字符集Σ和一个字符串 S,设 len(S)=n,且 S[n]='$',也 就是说 S 以一个特殊字符'$'结尾,并且'$'小于Σ中的任何一个字符。除了 S[n] 之外,S 中的其他字符都属于Σ。对于约定的字符串 S,从位置 i 开头的后缀直 接写成 Suffix(i),省去参数 S。 后 缀 数 组 后 缀 数 组 SA 是 一 个 一 维 数 组 , 它 保 存 1..n 的 某 个 排 列 SA[1],SA[2],...SA[n] ,并 且 保证 Suffix(SA[i])<Suffix(SA[i+1]),1≤i<n。 也就是 将 S 的 n 个后缀从小到大进行排序之后把排好序的后缀的开头位置顺次放入 SA 中。 名次数组 名次数组 Rank=SA-1,也就是说若 SA[i]=j,则 Rank[j]=i,不难 看出 Rank[i]保存的是 Suffix(i)在所有后缀中从小到大排列的“名次” 。

国家集训队2009论文集浅析竞赛中一类数学期

国家集训队2009论文集浅析竞赛中一类数学期

浅析竞赛中一类数学期望问题的解决方法福建省福州第八中学汤可因摘要期望在我们生活中有着十分广泛的应用,而对于我们信息学奥赛也出现了不少求解期望值的问题。

本文对于竞赛中涉及求离散型随机变量的数学期望的题目所使用的常用方法归纳成为两大类,并进行了总结与分析。

关键字期望递推动态规划方程组目录引言 (3)预备知识 (3)一、期望的数学定义 (3)二、期望的线性性质 (3)三、全概率公式 (4)四、条件期望与全期望公式 (4)一、利用递推或动态规划解决 (4)例题一:聪聪与可可 (5)分析 (5)小结 (6)例题二:Highlander (6)分析 (6)小结 (8)例题三:RedIsGood (8)分析 (8)小结 (9)二、建立线性方程组解决 (10)引入 (10)分析 (10)需要注意的地方 (12)例题四:First Knight (12)分析 (12)例题五:Mario (15)分析 (15)总结 (16)参考文献 (17)引言数学期望亦称为期望,期望值等,在概率论和统计学中,一个离散型随机变量的期望值是试验中每次可能结果的概率乘以其结果的总和。

而期望在我们生活中有着十分广泛的应用。

例如要设计一个彩票或赌博游戏,目标为赢利,那么计算能得到的钱以及需要付出的钱的期望,它们的差则需要大于0。

又例如对于是否进行一项投资的决策,可以通过分析总结得出可能的结果并估算出其概率,得到一个期望值而决定是否进行。

期望也许与每一个结果都不相等,但是却是我们评估一个事情好坏的一种直观的表达。

正因为期望在生活中有如此之多的应用,对于我们信息学奥赛也出现了不少求解期望值的问题。

而其中大多数又均为求离散型随机变量的数学期望。

本文对于这类题目所会涉及到的常用方法进行了归纳,总结与分析。

预备知识一、期望的数学定义如果X 是一个离散的随机变量,输出值为 x 1, x 2, ..., 和输出值相应的概率为p 1, p 2, ... (概率和为1), 那么期望值 ∑=ii i x p X E )(。

国家集训队2004论文集_周源

国家集训队2004论文集_周源

浅谈数形结合思想在信息学竞赛中的应用安徽省芜湖一中周源目录目录 (1)摘要 (2)关键字 (2)引子 (3)以形助数 (3)[例一]Raney引理的证明 (3)[题意简述] (3)[分析] (3)目标图形化 (3)小结 (4)[例二]最大平均值问题(USACO 2003 March Open) (4)[题意简述] (4)[分析] (5)目标图形化 (5)构造下凸折线 (5)维护下凸折线 (6)最后的优化:利用图形的单调性 (7)小结 (7)以数助形 (7)[例三]画室(POI oi V Stage I) (8)[题意简述] (8)[分析] (8)目标数值化 (9)动态规划解题 (9)小结 (10)总结 (10)附录 (11)关于2003年上海市选拔赛题Sequence (11)[题意简述] (11)[分析] (11)论文附件 (12)参考文献 (12)摘要数与形是数学中两个最古老而又最基本的对象,数形结合又是一种重要的数学思想。

本文主要以当今信息学奥赛中几道试题为例,从以形助数和以数助形两个侧重点讨论了数形结合思想在信息学竞赛解题中广阔的应用前景。

最后文章分析指出数形结合思想的两个重要特性并由此提出“数形结合”重在有机的结合,希望对同学们在实际比赛中灵活的运用数形结合思想有一些帮助。

关键字信息学竞赛数学思想数形结合思想以数助形以形助数辩证矛盾多元性个体差异性思维、编程、时间、空间复杂度引子数与形是数学中两个最古老而又最基本的对象,数形结合又是一种重要的数学思想。

在当今信息学竞赛中,某些纷繁复杂的试题背后,往往蕴含着丰富的几何背景,而计算几何类问题却又需要借助计算机强大的实数运算能力。

正如华罗庚先生所说的“数形结合千般好”,在算法和程序设计中,巧妙地运用数形结合思想,可以顺利的破解问题,化难为易,找到问题的解题思路。

数形结合思想常包括以形助数、以数助形两个方面。

以形助数正如前文所述,一些试题中繁杂的代数关系身后往往隐藏着丰富的几何背景,而借助背景图形的性质,可以使那些原本复杂的数量关系和抽象的概念,显得直观,从而找到设计算法的捷径。

一般运动刚体角速度向量引入的一种新方法

一般运动刚体角速度向量引入的一种新方法

一般运动刚体角速度向量引入的一种新方法
杜茂林;陈平;陈国良
【期刊名称】《力学与实践》
【年(卷),期】2008(30)5
【摘要】通过向量运算给出了角速度向量引入的一种较简单的方法.利用刚体上的固连向量的导数与其自身垂直的特点,得出反映刚体整体运动特性的角速度向量,并对这样的导出方法与刚体角速度向量物理意义之间的联系进行了讨论.
【总页数】2页(P98-99)
【作者】杜茂林;陈平;陈国良
【作者单位】解放军理工大学力学教研室,南京210007;解放军理工大学力学教研室,南京210007;解放军理工大学力学教研室,南京210007
【正文语种】中文
【中图分类】O3
【相关文献】
1.空间运动刚体角速度的一种形式 [J], 何斌;刘祚秋;苏炜;富明慧
2.一种引出一般运动刚体角速度概念的新方法 [J], 李海龙;水小平
3.确定一般运动刚体上点的速度的一种新方法 [J], 张东兴
4.刚体定点运动时角速度与角动量的关系 [J], 朱雯
5.两个刚体角速度运动的部分同步 [J], 蹇继贵;俞辉;罗海庚;廖晓昕
因版权原因,仅展示原文概要,查看原文内容请购买。

NMET2004“克隆陈题”现象透视

NMET2004“克隆陈题”现象透视

NMET2004“克隆陈题”现象透视
吕国生
【期刊名称】《中学生英语读写:高考版》
【年(卷),期】2004(000)009
【摘要】综观历届高考题,不难发现有不少试题与NMET2004的某些试题有惊人的相似之处。

其实这并不奇怪,因为命题者经常把陈题的干扰项作为新题的考查点,甚至将旧题翻新。

下面笔者以NMET2004与历届高考试题中的部分类似单项填空题为例,谈一谈这种“克隆陈题”的现象。

(保留原题号)
【总页数】4页(P25-28)
【作者】吕国生
【作者单位】四川荣县中学
【正文语种】中文
【中图分类】G633.41
【相关文献】
1.NMET2004(全国卷Ⅰ)完形填空题评析 [J], 荆棘;籍万杰
2.NMET2004单项选择题评析(全国卷) [J], 毛作弦
3.NMET2004单项选择填空题评析 [J], 杨武
4.NMET2004(全国卷)完形填空题评析 [J], 籍万杰
5.NMET2004(全国卷)完形填空题评析 [J], 籍万杰
因版权原因,仅展示原文概要,查看原文内容请购买。

一类高阶扩散方程解的性质

一类高阶扩散方程解的性质

一类高阶扩散方程解的性质
刘长春
【期刊名称】《吉林大学学报(理学版)》
【年(卷),期】2003(041)002
【摘要】讨论一类在相变中产生的高阶扩散方程解的性质, 得到了关于解的渐近性和解在有限时间的Blow-up现象.
【总页数】3页(P144-146)
【作者】刘长春
【作者单位】南京师范大学数学与计算机科学学院,南京,210097;吉林大学数学学院,长春,130012
【正文语种】中文
【中图分类】O175.26
【相关文献】
1.一类高阶线性微分方程解的复振荡性质 [J], 金瑾
2.一类非线性高阶双曲型方程与非线性高阶抛物型方程解的爆破性质 [J], 肖黎明
3.一类具有阻尼项的高阶泛函微分方程解的振动性质 [J], 丁朝刚;林诗仲;吕银平
4.一类高阶周期系数线性微分方程解的性质 [J], 陈创鑫;陈宗煊
5.一类高阶周期线性微分方程解的性质 [J], 朱丹晓;陈宗煊
因版权原因,仅展示原文概要,查看原文内容请购买。

基于Gordon模型的多次散射项参数化研究

基于Gordon模型的多次散射项参数化研究
Absr c : ig te o ia i lto ot r drlg t h spa rsmu ae h pe i c v l eg t e h ra — t a t Usn h pt lsmu ain s fwa e Hy oih ,t i pe i l tst e s cf a u bewe n te ir di c i
Pa a e e i a i n o u tp e S a t r n t m s d o he G o do o e r m t r z to f M li l c te i g I e Ba e n t r n M d l
Hu n a g h n,L n a 9 Ch n c u i Yu me ,W a g Qio, n De o g, e Ch n f n Jn Xi W a g Ya fi i n a Su y n L e g e g, i n, n ne
z n t n l i ih s atrn trb d .Ut i n eGo d n l e re u t n a d q a r t q ain t f h au e i a ge n hg c t i gwae o y h e i z g t r o i a q a i n u d a i e u t o i te v le g, li h n o c o t ti a e n ls s t e s at r g c e c e t , n p e sa d s lr z n t n l f c n te p rmee ff q ai n h sp p ra ay e h c t i o f in s wid s e d n o a e i a ge af to h aa t ro te u t en i h e i o

正确认识分运动的相互关系及其对合运动的贡献——再谈运动的合成和分解

正确认识分运动的相互关系及其对合运动的贡献——再谈运动的合成和分解

正确认识分运动的相互关系及其对合运动的贡献——再谈运
动的合成和分解
黄自勤;雷国清
【期刊名称】《物理实验:中学部分》
【年(卷),期】2004(24)8
【摘要】当我们将一个较为复杂的运动视为物体同时参与的几个分运动进行讨论时,应该明确,这些分运动既具有相对的独立性,又具有相互联系的运动等时性.它们无主从之分,共同决定着合运动的性质、效果.
【总页数】2页(P9-10)
【作者】黄自勤;雷国清
【作者单位】滨海学校,浙江宁波315700;樟树中学,江西樟树331200
【正文语种】中文
【中图分类】G633.7
【相关文献】
1.用匀速圆周运动的分运动导出简谐运动的严格解 [J], 庄洋;雷家睿;赵博涵;黄敏;赵芸赫
2.如何分析一个复杂运动的分运动——谈运动的合成和分解 [J], 黄自勤;雷国清
3.用匀速圆周运动的分运动导出简谐运动的严格解 [J], 庄洋;雷家睿;赵博涵;黄敏;赵芸赫;;;;;
4.运动合成与分解的思想分析带电粒子在电磁场中的曲线运动 [J], 黄浩章; 谢元栋
5.运动的合成与分解在相对运动中的应用探究 [J], 汪向阳
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

“分层图思想”及其在信息学竞赛中的应用天津市南开中学肖天【摘要】本文通过对几道信息学竞赛题的解决,提出了一种解决问题的建模思想——分层图思想。

该思想通过挖掘问题性质,将原问题抽象得出的图复制为若干层并连接形成更大的图,使本来难以用数学语言表达得图论模型变得简明严谨,为进一步解决问题打下了良好的基础。

【关键字】分层图思想图论数学模型最短路信息学竞赛【正文】1 引论人们在借助计算机解决一个实际问题时,无非就是详细地告诉计算机应该怎么做,使它能通过人们给定的输入得到人们想要的输出。

由于一般的计算机只能处理数字信号,所以只有把实际问题转化为数学问题,计算机才能帮助我们。

这一步就是建立数学模型。

数学模型的建立在通过计算机解决问题的过程中非常重要。

它把计算机无法理解的问题加以转化,使一切事物量化,最终变为只含数学过程的问题。

它是人脑与计算机沟通的桥梁。

不仅如此,数学模型的好坏直接影响着人与计算机之间的信息交流,影响着计算机对问题的“理解”。

好的数学模型能够抓住问题的本质,表述简捷明了,易于人们找到有效的解决方法,并通过编制程序的方式将解决方法告诉计算机;相反,对于同一个问题,如果数学模型不能抓住问题本质,人们就可能无法解决问题,或者找不到有效的方法,更不用提告诉计算机如何做了。

由于建立数学模型是为了解决问题,所以人们在做这项工作时往往希望把问题归结为已经很好解决的经典问题或若干这样问题的有机结合。

这样,只要应用前人的研究成果就可以了。

比如,排序、求图的单源最短路、网络流等等都是经典问题,前人不仅给出一般解法,而且对各种特殊情况和变形作了深入的研究。

但事情并不总像人们希望的那样,有的问题即使可以归结为已有问题,在其中加入一些干扰因素后,原有性质就会发生改变,原来建立起的数学模型难以再用严谨的数学语言表达。

这样问题中的部分图论问题可以用本文提出的“分层图思想”解决。

该思想注重对原问题性质的挖掘,通过对原问题数学模型的扩展,将干扰因素融入新的数学模型之中,恢复了模型的严谨性,进而与已解决问题产生联系,得到有效算法。

2 提出“分层图思想”2.1 一个问题的解决例题1:拯救大兵瑞恩1问题简述:有一个长方形的迷宫,被分成了N行M列,共N*M个单元。

两个相邻(有公共边)的单元之间可以互通,或有一扇锁着的门,或者存在一堵不可逾越的墙。

迷宫中一些单元存放着钥匙,且所有的门被分为P类,打开同类门的钥匙相同,打开不同类门的钥匙不同。

(如右图)要求从迷宫左上角走到右下角营救大兵瑞恩,每从一个单元移动到相邻单元记为一步。

只有拿到钥匙,才能打开相应的门。

试求最少步数。

此题的标准解法是动态规划:以拿到的钥匙种类划分阶段,时间复杂度为O(2P N2)。

(详见[1])其实此算法可以用“分层图思想”做出更简明的解释。

首先忽略钥匙和门,那么问题就是在一个给定隐式图中求一条最短路,数学模型很简单:已知图G,其中顶点与地图中的单元一一对应。

当且仅当两格相邻且之间无墙时,他们对应的顶点间有一条边(如右图)。

求从左上角对应顶点到右下角对应顶点最短路长度。

加入钥匙和门的因素,则所求最短路有了一个限制因素,即只有先到存在钥匙的格子,才能通过相应的门。

换句话说,通过图中某些边是有条件的。

所以不能再简单地求最短路了,而是要考虑何时那些边能通过,何时不能通过。

这就要记录拿到了哪些钥匙。

此时,我们需对原模型进行改造:将原图G复制2P个,记为G(s1,s2,…,s P),其中s i=0表示未拿到第i类钥匙,s i=1表示已拿到第i类钥匙,i=1,2,…,P。

对每个图G(s1,s2,…,s P),若s i=0,则将所有i类门对应的边去掉,因为没有此类钥匙不能通过此类门。

再将其余所有边改为双向弧,权为1。

对所有顶点对(u, v)及整数i,若它满足l u、v分别在G(s1,s2,… , s i-1,0, s i+1,…,s P)、G(s1,s2,… , s i-1,1, s i+1,…,s P)中,且均对应(x, y)单元l(x, y)格中有i类钥匙则添加有向弧uv,权为0,表示走到(x, y)单元就可以由未拿到第i类钥匙转变为已拿到第i类钥匙,而不需要消耗额外的步数。

这样,这2P个图被连成了一个2P“层”的有向图(如下图)。

问题转化为求由该图G(0,0,…,0)层表示左上角的顶点到每一层表示右下角的顶点的最短路长度的最小值。

注意,这里需要求的不是到G(1,1,…,1) 层表示右下角的顶点的最1选自1999年国际信息学奥林匹克中国国家队组队选拔赛,题目全文见参考文献[1]短路长度,因为要成功营救大兵瑞恩很可能并不需要拿全所有的钥匙。

2.2 小结可见,用此思想可以建立起更简洁、严谨的数学模型,进而很容易得到有效算法。

重要的是,新建立的图有一些很好的性质:由于层是由复制得到的,所以所有层都非常相似,以至于我们只要在逻辑上分出层的概念即可,根本不用在程序中进行新层的存储,甚至几乎不需要花时间去处理。

由于层之间的相似性,很多计算结果都是相同的。

所以我们只需对这些计算进行一次,把结果存起来,而不需要反复计算。

如此看来,虽然看起来图变大了,但实际上问题的规模并没有变大。

层之间是拓扑有序的。

这也就意味着在层之间可以很容易实现递推等处理,为发现有效算法打下了良好的基础。

上述特点在例1的解决中体现得并不明显,所以本文给出的算法并不比标准算法更好。

但这些特点说明这个分层图思想还是很有潜力的,尤其是各层有很多公共计算结果这一点,有可能大大消除冗余计算,进而降低算法时间复杂度。

我们可以在下一个例子中看到这些。

3 分层图思想的应用例题2:迷宫改造2题目简述:有一个长方形迷宫,其在南北方向被划分为N行,在东西方向被划分为M列,于是整个迷宫被划分为N*M个单元。

我们用一个有序对(单元的行号,单元的列号)来表示单元位置。

南北或东西方向相邻的两个单元之间可能存在一堵墙,也可能没有,墙是不可逾越的。

假定有P个人,他们分别从P个指定的起点出发,要求2选自1999年全国青少年信息学奥林匹克冬令营比赛,文中引用的是此题第二问的一部分,题目全文见附录他们只能向南或向东移动,分别到达P 个指定的终点。

问至少拆掉多少堵墙使得这是可行的(墙拆掉后可以任意通行),即所有的人可以从各自的起点出发依照游戏规则到达各自的终点。

参数限定:3≤N ,M ≤20;1≤P ≤3为说明方便,下面我们只讨论M =N ,P =3的情况。

(P <3时,可以添加起点终点重合的人而使P 达到3)解法1:仿照《方格取数》3一题进行动态规划。

以平行于副对角线的斜线划分阶段,令S (i ,x 1,x 2,x 3)表示三个人分别走到第i 条斜线上第x 1,x 2,x 3行需要拆掉的最少墙数。

对于每一个状态,每个人有向南和向东两种走法,共23=8中决策。

则有状态转移方程+−+−−+−−+−−−+−−+−−−+−−−+−−−−=?),,,1(?)1,,,1(?),1,,1(?)1,1,,1(?),,1,1(?)1,,1,1(?),1,1,1(?)1,1,1,1(min ),,,(321321321321321321321321321x x x i S x x x i S x x x i S x x x i S x x x i S x x x i S x x x i S x x x i S x x x i S其中,?表示相应决策需要拆的墙数,显然它只能在{0,1,2,3}中取值。

由于情况较多,这里不再赘述。

另外,由于每个人的起点并不一定在地图左上角,终点也不一定在地图右下角,所以递推时还要处理一些细节。

详见附录中的程序。

此算法的时间复杂度为O(N 4)。

解法2:应用分层图思想建立数学模型,将问题转化为最短路问题我们先来分析一下本题的特点。

首先,每个人移动路线的可行性是不受其他成员影响的,而在计算代价时不同人之间仅当他们经过同一堵墙时才有关系。

如果忽略这种关系,那么每个人的路线应是他起点终点之间的一条最短路。

换句话说,有的人可能会迁就其他人而导致其路线不是最短路,但他们不在公共路线上时每个成员的路线都是最短路。

我们定义:定义1:纯路段是某一可行解的一部分,他与每个家庭成员路线的交集要么是空集,要么是它本身(即它是该成员路线的一部分)。

直观的说,某一可行解的纯路段不分岔。

定义2:极大纯路段是某个可行解的纯路段,但不是该解中任何其它纯路段的子路段。

这样,我们刚才得到的性质就可以表述为:最优解中的每个纯路段都是连接其两端点的最短路。

所以,一个最优解可以由其中所有极大纯路段端点的集合唯一确定。

于是我们就有了一个最朴素的算法:枚举这些端点。

虽然这个算法的时3全国青少年信息学奥林匹克分区联赛复赛高中组第4题,原文及解法见参考文献[2]间复杂度令人难以忍受,但他给了我们一个思路,即充分利用纯路段的最短路性质。

让我们进一步挖掘此题特点。

此题与普通求最短路的问题最大的区别在于其中有多个人,他们有公共路段时,该路段的权只被计算一次。

因此抓住公共路段是解决问题的关键。

经分析可以发现公共路段有以下特点:定理1:存在一最优解,其中任两个人的公共路段不会多于一条,即任两个人的路线不会在会合、分离之后再次会合。

证明:假设某一最优解T中存在两个人A、B,他们在P点分离后又在Q点会合,设他们在P、Q之间的路线的权分别为W A、W B。

则他们在P、Q之间的总代价为W=W A+W B。

那么必然存在另一可行解T’,它与T的唯一差别是B在P、Q之间的路线改为与A相同。

则T’中A、B在P、Q之间的总代价为W’=W A。

由于W’≤W,所以T’也是最优解。

因此可以通过有限次像上面的变换去掉某一最优解中的所有“会合——分离——再会合”的情况而保持其最优解的性质。

证毕。

定理2:当P≤3时,存在一最优解,其中所有人的路线之并集无环。

(路线看作是无向路径)证明:这实际是对定理1的简单推广。

假设某一最优解T中有环,且应用定理1去掉两人产生的环之后仍存在环。

那么该环必然由三人产生,且只有右图一种情况。

类似于定理1的证明,C人的PS段路线显然可以由PQRS代替,而省去PS段的费用,新得到的解必是最优解。

如此总能得到无环的最优解。

证毕。

定理3:当P≤3时,对一个无环的最优解T,其中的所有公共路段可以用一条从左上角到右下角的路线覆盖。

证明:假设T中有两条公共路段不能被一条从左上角到右下角的假想路线覆盖,那么显然他们不能属于同一个人的路线(否则此人的路线即满足要求)。

又因每条公共路段至少属于两人,所以P≥4。

与P≤3矛盾。

证毕。

定义:对于一个最优解T,如果一条从左上角到右下角的路线可以覆盖T中的所有公共路段,则称该路线为T的主路线。

这样,一个最优解可以这样描述:它是由一条主路线和一些从主路线伸向各成员起点和终点的支路线组成的。

相关文档
最新文档