- 博客(9)
- 收藏
- 关注
原创 详解威佐夫博弈(POJ1067)
Wythoff GameOverview其解决的典型博弈问题是: 给定两堆物体, 两位选手轮流取物, 规定每位选手要么从某一堆中取物, 要么从两堆中同时取相同数量的物体, 至少取一物, 多者不限. 规定最后取完的胜利. 要求判断给定物体数量时, 先手后手的输赢情况.Wythoff给出的结论是: 设两堆物体的数量分别为a, b, 不妨设a⩽ba\leqslant ba⩽b, 若⌊1+52(b−a)⌋=a\lfloor \frac{1 +\sqrt{5}}{2} (b-a) \rfloor = a⌊
2021-01-24 21:53:31 559 1
原创 尼姆博弈POJ2234
Nim GameOverviewTypical Problem给定n堆物品, 每堆物品的个数分别为A0,A1,...,An−1A_0,A_1,...,A_{n-1}A0,A1,...,An−1. 两位选手轮流取物, 从某一堆中取物,至少取一物, 至多不限. 问先后手输赢情况.Approach令S=A0⊕A1⊕...⊕An−1S=A_0 \oplus A_1 \oplus ... \oplus A_{n-1}S=A0⊕A1⊕...⊕An−1. 如果S=0S=0S=0, 则先手必败, 后手
2021-01-26 16:18:28 99
原创 ZOJ 3018 Population
POJ3018-PopulationBasic Ideas题意为, 在20000*20000的数组中更新某个点的值, 求给定矩形范围内的和.可用二维线段树解决此问题. 整个算法的逻辑结构为一颗四叉树, 树的每个节点存储一个矩形范围内的和, 并指向其4个子节点, 每个子节点就是这个矩形划分出的四个部分.本算法200ms.Code in C++#include<bits/stdc++.h>using namespace std;const int MAXN = 2e4;const
2021-01-23 18:00:13 97
原创 1025 Keep at Most 100 Characters
TL-1025 Keep at Most 100 CharactersBasic ideas动态规划问题.用s[0...n−1]s[0...n-1]s[0...n−1]表示原字符串. dp[l][i]dp[l][i]dp[l][i]表示前i(n>=i>=1)i(n>=i>=1)i(n>=i>=1)个字符中长度为l,(min(100,n)⩾l⩾1)l,(\min(100,n)\geqslant l \geqslant 1)l,(min(100,n)⩾l⩾1)的各不相
2021-01-19 16:58:10 110
原创 1026 String of Colorful Beads
TL-1026 String of Colorful BeadsBasic Ideas本题不难.设颜色存储在数组a[1...n]中, 只需遍历一遍颜色序列, 依次求出某起点ts(不包括)到当前点i的最长不重复长度, 并求出其价值, 在长度相等时比较大小即可.问题的关键在于如何设计ts. 显然, 一开始ts为0, 而之后的更新过程公式为, ts = a[i]最近出现的位置, 条件为其位置大于ts. 请结合代码思考其正确性.对于价值序列, 一开始我们可以先进行累加计算, 以求后面在O(1)内计算完毕.
2021-01-18 22:48:20 97
原创 1027 Larry and Inversions
TL-1027 Larry and Inversions本文详细解析了PAT顶级1027题. 时间性能最好的是方法3, 时间复杂度为O(n2logn)O(n^2\log n)O(n2logn).Method 1: Brute Force按题意描述, 每次逆置一子序列后进行一次逆序对统计, 总共逆置O(n2)O(n^2)O(n2)次, 每次逆置耗时O(n)O(n)O(n), 逆置后计算逆序对耗时O(n2)O(n^2)O(n2), 总共耗时O(n4)O(n^4)O(n4). nnn最大取10410^41
2021-01-18 22:00:25 91
原创 Fenwick tree or BIT
Fenwick tree or BITOverview维基百科定义树状数组为,A Fenwick tree or binary indexed tree is a data structure that can efficiently update elements and calculate prefix sums in a table of numbers.它所解决的典型问题如下.Typical problem给定一个整数数组a[1~n], 求区间[i,j]的和. 此外, 有时还会要求更
2021-01-18 16:50:52 113
原创 POJ 2104 K-th Number ——划分树
POJ 2104 题解 ——划分树本文是一个系列的第一篇文章。本系列基于上交老师出品的《程序设计解题策略》书籍。该书介绍了49个ACM/ICPC算法设计策略。本系列打算用一个更简单的方式介绍书中的解题策略。当然,针对每个策略,也会给出相应的测试题目及其代码。文章目录POJ 2104 题解 ——划分树划分树算法问题与复杂度建树查找完整AC代码划分树算法问题与复杂度划分树主要应用于求解整数...
2019-06-16 00:11:50 222
原创 蓝桥杯 打印十字图
题目:见蓝桥杯官网。解题思路:这是一个找规律的题。网上看到的代码都较为复杂,在这里提供一个简洁的。可以参照下面的代码和下面的图理解思路。图1:代码:/*时间:2018年1月31日作者:Qing*/#includeusing namespace std;char A[35][35];int main(){ int n;
2018-01-31 01:52:38 149
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人