09 2021 档案
摘要:题目链接 Problem - E2 - Codeforces 题目大意 给定一个序列a[1...n],在一个双端队列中插入序列a中的元素,但只能按元素在a出现的次序插入 问最后双端队列中逆序对数最少是多少 分析 假设前n-1个元素已经插入双端队列,现在要插第n个元素,只需要比较 将它插入最前和最后哪
阅读全文
摘要:from pytrie import SortedStringTrie as Trie List = Trie(意气风发 = 1,神采奕奕 = 2, 意气扬扬= 3,意往神驰 = 4,意兴盎然 = 5,意合情投 = 6) print(List.keys(prefix='意')) View Code
阅读全文
摘要:由于trie树中trie[rt][x]这个数组表示的含义是结点为rt的子树的第x个孩子的编号,我们发现trie树这个数据结构天生适合字符串排序。 具体一点,就是某个结点的孩子会按字母序排列好(若这个孩子不存在只需要多加一句判断if(trie[rt][x]))。 我们可以用dfs的方法对trie树这个
阅读全文
摘要:题目链接:Problem - B - Codeforces 目的: 找到满足ai<bj的最小的i+j-2 (index from 1 to n) 思路: 枚举会tle,考虑优化 对于每个ai,一定存在对应的bj满足ai<bj且i+j-2最小。这时bj只能取比ai大的偶数值。 因此,我们可以存每个值对
阅读全文
摘要:有n件物品,背包总重量为V,其中物品被分成了k组,同一组中的物品最多只能选一件。 选出一些物品使得背包中物品总价值最大。 核心代码: for(int k=1;k<=1000;k++){ //k组 for(int j=V;j>=0;j--){ //求出在相同重量下 考虑第k组后最大的价值 for(in
阅读全文
摘要:链接:https://ac.nowcoder.com/acm/contest/11214/I 思路(关于区间问题的简单思考): 当无法解决问题时,可尝试固定一个端点,考虑另一端的单调性 如果满足单调性,可将时间复杂度从O(n^2)变成O(nlogn) code: #include<bits/stdc
阅读全文
摘要:以下方法适用于已知的找规律题 ( 时间复杂度O(1) ) ①找到数列前几项对应的答案 法1 手算 法2 打表(暴力找出前有限项,再print) ②找规律 法1 假设它为(高阶)等差数列/等比数列,再用待定系数法 法2 根据打表结果猜测 引例——考虑一道题:https://www.luogu.com.
阅读全文