摘要: 2463: [中山市选2009]谁能赢呢? Description 小明和小红经常玩一个博弈游戏。给定一个n×n的棋盘,一个石头被放在棋盘的左上角。他们轮流移动石头。每一回合,选手只能把石头向上,下,左,右四个方向移动一格,并且要求移动到的格子之前不能被访问过。谁不能移动石头了就算输。假如小明先移动 阅读全文
posted @ 2017-05-07 17:58 Edward_Tsui 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 计算几何摸黑(3) 圆及有关计算(上) 圆的表示方法 ​ 和直线一样,圆也可以使用参数式表示。显而易见,一个唯一的圆可以用一个点表示圆心,和一个实数表示半径。所以,我们可以这样定义一个圆。 ​ 约定:这里用C.c表示圆C的圆心,C.r表示圆C的半径。 通过圆心角求点的坐标 ​ 我们作一条过圆心,平行 阅读全文
posted @ 2017-05-06 15:49 Edward_Tsui 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 汉诺塔问题探讨 原题目 ​ 有三根柱子,每根柱子上一开始都是空的。我们把这三个柱子编号为1, 2, 3,现在,第一根柱子上有$N$个盘子按照尺寸从小到大排列,我们的目的是把这些盘子按顺序从第一根柱子转移到第三根上。在移动过程中有要求,即每个柱子上要想往上叠加盘子,只能叠加比它尺寸小的盘子。那么我们该 阅读全文
posted @ 2017-05-05 16:24 Edward_Tsui 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 相等判断函数 有的时候我们会用到判断一个数是否大于0,小于0或等于0。大于小于还好办,等于的话可能会出现例如0.00000000001≠0的现象,但是实际计算的时候这两个数是应该按照相等来算的。所以,我们可以自己定义一个函数dcmp(),来判断是否和0极其近似相等。 点与线段的位置关系 一个点和一条 阅读全文
posted @ 2017-04-28 20:49 Edward_Tsui 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 原理Dijkstra是一个神奇的最短路径算法,它的优点在于它可以稳定的时间内求出一张图从某点到另一点的距离。它的工作原理非常简单,思路类似于广搜。在搜索前,将每个点的颜色设为白色,第一次将源点Insert进入集合,将源点的最短路(用Dis数组表示)设为0,然后在它的所有白色孩子边上... 阅读全文
posted @ 2017-04-27 19:23 Edward_Tsui 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 作为一个刚学完向量的OJ看天选手,看了点计算几何,打算来记两笔。首先先定义一下π的值:// 法1:直接define#define pi 3.14159265358979323846264338327950288// 这样……可以说好处是直观吧// 法2:∵cos π == -1 ∴... 阅读全文
posted @ 2017-04-21 17:55 Edward_Tsui 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 点我传送到题面 1085: [SCOI2005]骑士精神 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2175 Solved: 1245 [Submit][Status][Discuss] Description 在一个5×5的棋... 阅读全文
posted @ 2017-04-01 08:07 Edward_Tsui 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 作为一个【NOIP+,省选-】算法,这个算法真的很暴力。同样是最大流,跑得比EK不知快到哪里去了。首先是一个广度优先搜索(){ 按照可用路径上节点的访问顺序标号。 然后判断一下能否到汇点。 如果不能(汇点没有被标号),那么返回不行。 否则返回行。}然后,只要... 阅读全文
posted @ 2017-03-22 21:30 Edward_Tsui 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 挺简单一个题,最小割模板我的感觉就是可能建图的时候会比较麻烦吧,毕竟三个方向。#include #include #include #include #include #define debug(x) std::cout << #x << " = " << x << std::en... 阅读全文
posted @ 2017-03-18 10:45 Edward_Tsui 阅读(115) 评论(0) 推荐(0) 编辑