摘要: 一、题目 n(n < 20)个人站成一圈,逆时针编号为1~n。有两个官员,A从1开始逆时针数,B从n开始顺时针数。在每轮中,官员A数k个停下,官员B数就停下来(注意有可能停在同一个人上)。接下来被选中的一个(或两个人离开)。输出输入格式参见UVa233。 二、解题思路 这是一道简单题,但处理不好很可 阅读全文
posted @ 2018-07-21 20:48 Rogn 阅读(432) 评论(0) 推荐(0) 编辑
摘要: 题目: 长度为 n 的环状串有 n 种表示法,分别从某位置开始顺时针得到。在这些表示法中,字典序最小的称为“最小表示”,你的任务是输出该环状串的最小表示。(n <= 100) 解题思路: 枚举n个位置(起始位置),并记录当前字典序最小的位置,总的时间复杂度O(n * n),由于n较小,没问题。 代码 阅读全文
posted @ 2018-07-18 16:28 Rogn 阅读(1627) 评论(0) 推荐(0) 编辑
摘要: 一、概述 二分查找是针对有序数列的,对无序数列是无效的,在有序序列中使用二分查找能大大提高查找效率,通常能将时间按复杂度从O(n)降至O(logn)。 二、查找某数的位置(或存在性) 递归: 非递归: 三、查找某数出现的次数 递归: 递归(优化版):如果有序数列中,目标元素占大多数,二分法会退化成逐 阅读全文
posted @ 2018-07-17 22:03 Rogn 阅读(3526) 评论(0) 推荐(2) 编辑
摘要: 一、题目 有n根棍子,棍子i的长度为ai。想要从中选出三根棍子,使其构成的三角形的周长最大。请输出最大的周长,如果无法构成三角形,则输出0。 二、解法 1)思路:首先根据长度排序(假设从小到大),贪心的选取(从大到小的遍历)如果与前两根构成三角形,则跳出循环。 正确性:如果一根棍子与前两个都不能构成 阅读全文
posted @ 2018-07-17 10:04 Rogn 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 算数基本定理 任何大于1的整数都可以分解成素因数乘积的形式,并且,如果不计分解式中素因数的次序,这种分解式是唯一的 1)证明: 存在性:对于大于1的整数你,如果n不是素数,我们可以将n分解成一个素数和某个大于1的整数a的乘积;如果a是素数,则过程停止,如果a不是素数,又可以将a分解成一个素数和某个大 阅读全文
posted @ 2018-07-16 22:45 Rogn 阅读(1018) 评论(0) 推荐(0) 编辑
摘要: 快速幂($m^n$): 快速乘($mn$): 我觉得有必要换掉这个“龟速乘” //不会爆long long 全部组合($C_i^j \% P,1\leq i\leq maxn,0\leq j\leq i$) 部分组合($C_n^0,C_n^1,\cdots,C_n^n$) 单个组合($C_n^m$) 阅读全文
posted @ 2018-07-16 12:30 Rogn 阅读(648) 评论(0) 推荐(0) 编辑
摘要: 合适的存图方式往往能事半功倍,这里介绍三种方式:邻接矩阵、邻接表、链式前向星。 邻接矩阵 1)存图思想 用一个矩阵来记录一个图,矩阵第 i 行第 j 列的值就表示顶点 i 到顶点 j 的权值 2 代码实现 3)优点 a.简单易学 b.对已确定的边进行操作效率高:对已确定的边(两顶点已知),进行增加、 阅读全文
posted @ 2018-07-16 10:49 Rogn 阅读(3149) 评论(1) 推荐(3) 编辑
摘要: 一、定义 定义:给定两个整数a,b,必有公共的因数,叫做它们的公因数,当a,b不全部为0时,在有限个公因数中最大的那个叫做a、b的最大公因数,记作(a,b) 二、一种方法——辗转相除法 描述:设a,b为任意两个整数,且b不为0,应用带余除法,以b除a,得到商q1,余数r1;如果余数r1不为0,以r1 阅读全文
posted @ 2018-07-15 12:30 Rogn 阅读(1457) 评论(0) 推荐(0) 编辑
摘要: 此篇当作自己的笔记(水平太菜,这都一直没搞明白) sort()函数的用法1)sort函数包含在头文件<algroithm>中,还要结合using namespace std2)sort有三个参数第一个是待排数组的起始地址第二个是结束的地址(最后一个要排序的地址的下一地址第三个是排序的方式,可以是从小 阅读全文
posted @ 2018-07-14 22:27 Rogn 阅读(662) 评论(0) 推荐(0) 编辑
摘要: 一、题目信息 The - Modcrab 简单翻译一下:Vova有生命值h1,每次攻击值为a1,每瓶药水恢复生命值c1;Modcrab有生命值h2,每次攻击值为a2。在每个关卡开始,Vova有两种选择,要么攻击怪兽Modcrab,要么喝一瓶药水(Modcrab的生命值允许超过h2),然后,如果战斗没 阅读全文
posted @ 2018-07-14 20:56 Rogn 阅读(227) 评论(0) 推荐(0) 编辑