摘要: How To Use 这里记录的是博主助教学习期间课堂上的编程题,有时间的话,我会将解题思路以及各位私下问我问题的一些难点、坑点、易错点整理在对应的每道题下。 考虑到这里要放一个学期的题目,在浏览器中使用 Ctrl + F 搜索题目的关键字,就能快速定位了; 函数题编号格式为 "F 题号",编程题格 阅读全文
posted @ 2020-03-10 18:50 DoubleBit 阅读(352) 评论(0) 推荐(0)
摘要: 简介 康托展开是一个全排列到自然数的双射,即任意一个大小为n的排列(数组)都可映射为一个唯一的整数,对应当前排列在所有由小到大的全排列中的序号。反之,我们亦可根据该序号以及排列的大小n逆推回原来的序列。 在算法竞赛中,康托展开常用来解决全排列的字典序问题以及构建哈希表时对空间、时间的优化。 康托展开 阅读全文
posted @ 2020-02-04 19:29 DoubleBit 阅读(488) 评论(1) 推荐(1)
摘要: 传送门:https://www.cometoj.com/contest/58 A:杀手皇后(STL) 题意:给出n个由小写字母组成的字符串,求出字典序最小的那一个。 分析:签到题,用string类的重载运算符 < 可以比较两个字符串的字典序大小。维护一个字典序最小的字符串变量即可得到答案。 1 #i 阅读全文
posted @ 2019-08-14 21:45 DoubleBit 阅读(207) 评论(0) 推荐(0)
摘要: 传送门:https://www.cometoj.com/contest/52 A:签到题 题意:多次询问,每次询问给出一个值域区间[l,r],从这区间范围中选出两个整数(可重复),依次求出这俩数的“最大的最小公倍数”、“最小的最小公倍数”、“最大的最大公约数”、最小的最大公约数。 分析:(1)显然, 阅读全文
posted @ 2019-08-13 19:40 DoubleBit 阅读(228) 评论(0) 推荐(0)
摘要: 传送门:https://www.cometoj.com/contest/48 B:双倍快乐(简单DP) 题意:给出一串数列,要求在这个数列中找出两条“不相交”的非下降子序列使得子序列之和最大。“不相交”即不存在任意的ai同时存在于两个子序列中。 分析:笔者刷题量不多,这道题对笔者加深动态规划求子序列 阅读全文
posted @ 2019-06-30 13:46 DoubleBit 阅读(291) 评论(0) 推荐(0)
摘要: 链接:http://poj.org/problem?id=2299 题意:给出N个数组成的数列A(0 <= A[i] <= 999,999,999),求该数列逆序对的数量。 分析:题目所谓的排序过程其实就是一个冒泡排序的过程。在这里,我们需要知道,冒泡排序所需交换的次数等于该序列逆序对的数量(证明略 阅读全文
posted @ 2019-05-09 00:05 DoubleBit 阅读(132) 评论(0) 推荐(0)
摘要: 来源:http://poj.org/problem?id=2922 题意:给出一张N x N的地图,找出一条从左上角到右下角的路径,使得该路径上的【最大值】- 【最小值】结果最小,输出该结果。 分析:该地图规模最大为100 x 100,如果直接暴力搜索,我们必须对每条可能的路径进行搜索,才能得出正确 阅读全文
posted @ 2019-05-08 00:16 DoubleBit 阅读(249) 评论(0) 推荐(0)
摘要: Problem B:HRY and codefire (概率 DP) 链接:https://ac.nowcoder.com/acm/contest/874/A 题意:有两个初始等级为0的账号打题,开局任选一账号。每一次答题,若AC一题该账号升一级,且下一轮继续使用当前账号。反之,当前账号不降级,下一 阅读全文
posted @ 2019-05-05 13:04 DoubleBit 阅读(217) 评论(0) 推荐(0)