摘要:
问题描述 你有一行盒子,从左到右依次编号为1, 2, 3,…, n。可以执行以下4种指令: X Y表示把盒子X移动到盒子Y左边(如果X已经在Y的左边则忽略此指令)。 X Y表示把盒子X移动到盒子Y右边(如果X已经在Y的右边则忽略此指令)。 X Y表示交换盒子X和Y的位置。 表示反转整条链。 指令保证 阅读全文
摘要:
问题描述 : 你有一个破损的键盘。键盘上的所有键都可以正常工作,但有时Home键或者End键会自动按下。你并不知道键盘存在这一问题,而是专心地输入英文单词,甚至连显示器都没瞧一眼。当你看显示器时,展现在你面前的是一段悲剧的文本。你的任务是计算这段文本有几个单词。 输入包含多组数据。每组数据占一行,包 阅读全文
摘要:
在算法竞赛中,我们难免用到一些数据结构,比如集合,映射啥的,这时候,最好的选择就是直接使用STL库中自带的数据结构。 这里总结一些算法竞赛中常用的STL套路,来自《算法竞赛入门经典——刘汝佳》。 这篇笔记不会介绍STL的基础用法,只记录一些技巧。 标准化存储 反片语(Ananagrams,Uva 1 阅读全文
摘要:
HOJ 2058 The sum problem Problem Description Given a sequence 1,2,3,......N, your job is to calculate all the possible sub-sequences that the sum of t 阅读全文
摘要:
Problem Description 人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Cole终于知道了原因,原来,LELE最近研究起了著名的RPG难题: 有排成一行的n个方格,用红(Red)、粉(Pink)、 阅读全文
摘要:
在一般情况下,二叉树的查找效率很高,但在极个别情况下会出问题,这依赖于输入数据的顺序。 如果我们给BTree<Char,Int>(代表键是字符值是整数的二叉树)插入这样一串数据:[1,2,3,4,5],那我们得到的二叉树就是这样的。 二叉树退化成了链表,而我们查找一个数据的时间复杂度也退化成了$O( 阅读全文
摘要:
题目RootedTree 《挑战程序设计竞赛2 算法和数据结构》中8.2章中有这样一道题。 请编写一个程序,输出给定有根树T中各节点u的信息,信息内容如下。 u的节点编号 u的节点种类(根、内部节点、叶) u的父节点编号 u的字节点列表 u的深度 输入 第一行输入结点的个数n,接下来n行按照下述格式 阅读全文
摘要:
鸽巢原理 当有$k+1$个鸽子飞进$k$个巢时,其中至少有一个巢中至少有两只鸽子。 原因很简单,从直觉上来看,$k$个巢永远无法容纳$k+1$个鸽子,就算前$k$只鸽子每只分到了一个巢,那最后一个还是没地方,只能挤进一个已经有鸽子的巢。 考试成绩 考试的分数在$[0,100]$中,班上有多少个学生才 阅读全文
摘要:
同余 如果$a\div n$和$b\div n$余数相同,则说a和b同余,记作$a\equiv b(\mod n)$。 如 \[ 8\equiv 1(\mod 7)\\ 6\equiv 2(\mod 4) \] 同余类 任意一个数m除n的余数在0n-1之间。这0n个数就代表一个数余n的同余类。 如7 阅读全文
摘要:
最大公因数 如果$u|a,u|b$,而且$u$是$a,b$的共同因数中最大的那个,则称u是ab的最大公因数,记作$(a,b)=u$。 $(a,b)=1$则$a,b$互素。 对于$a_1,a_2...a_n$,若$(a_i,a_j)=1\ (1\leq i<j\leq n)$则它们两两互素。 辗转相除 阅读全文