自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 搬家声明

近日,我把博客搬到了自己搭的站点上:http://wmdcstdio.com/欢迎大家访问!:)

2017-10-20 22:45:45 939

原创 ACM/ICPC乌鲁木齐2017解题报告

B:Out-out control cars题意:两个三角形匀速直线运动,问是否会撞上。题解:只需单独计算每个三角形的某个顶点是否会和另一个三角形撞上。方法就是计算一下相对速度(建立一个坐标系,相当于三角形静止,顶点匀速直线运动),然后问题转化为射线和线段相交,解二元一次方程组即可。代码:#include#include#include#include#includeus

2017-09-09 17:09:42 2476 1

原创 武器与战术:对聚变时代太空舰队的构想

基础设定太空时代,以及太空时代的战争是常见的科幻话题。在本文中,我们将对此进行一些推想。本文对人类生产力的设定是:以核聚变为主要能源,掌握了低亚光速太空航行技术。这是因为,一来它同当今人类的技术水平相比不会过于超前,区别主要是工程而非科学上的(电磁和激光火炮的效能尚可予以推测,但研究死星就只能靠设定了),二来它覆盖了许多科幻作品的内容。针对第二点必须说明:许多科幻作品有着“亚光速+

2017-02-17 15:46:53 5361 2

原创 C++字符输入方式初探——为什么不能eof

前言众所周知,C++的字符处理,尤其是输入输出,各种“读到文件结束”十分复杂。本文简单研究一下C++的各种字符输入方式。由于C++提供了各种eof方法以供判断文件结尾,这就让人产生一种写类似这样代码的冲动:while(eof){ 读入什么东西;}而它在绝大多数情况下都是不能正常工作的。如果你改成这样:while(true){ 读入什么东西;

2016-11-29 22:36:39 4114 1

原创 [CCPC2015][HDU5548]Mahjong解题报告

题目http://acm.hdu.edu.cn/showproblem.php?pid=5548给定点数为1~K的麻将牌各4张(这4张完全相同),问有多少种方案,从中选出一个M张牌组成的集合,能够和牌。“和牌”指:其中有两张完全相同的将牌,其他牌可以被三三分组,每组要么是“n-1 n n+1”型,要么是“n n n”型。注意:集合相同而和法不同仅算一次。题解我们

2016-11-20 00:32:36 1637 2

原创 [Shanghai2015]Discover Water Tank解题报告

题目:http://acm.hdu.edu.cn/diy/diy_previewproblem.php?cid=30741&pid=1004http://cogs.pro/cogs/problem/problem.php?pid=1407A lot of frogs are living in a water tank, but none of them know exac

2016-10-30 20:38:47 931

原创 CF 461D Appleman and Complicated Task解题报告

题目http://codeforces.com/contest/461/problem/D给你一个n*n网格,每一格要么是0要么是1要么为空,要求你用0或1填满所有空格,使得每个格子周围的0有偶数个。题解首先我们观察到这样一个事实:当第一行确定后,整个网格的填法就确定了。我们以N=8为例,把这种确定方法列出来:其中,“0246”这样的数的含义为,假设第一行为a[

2016-10-05 18:44:07 773

原创 CF 449E Jzzhu and Squares解题报告

题目大意http://codeforces.com/contest/449/problem/E给定一个N*M的网格。对一个顶点为格点的正方形R(不一定与格线平行),计算出其中有多少个单位格被R完全包含(记作F(R))。求所有正方形的F(R)之和。题解首先画一个“勾股图”:粉色是我们的正方形(不和格线平行),设其外接正方形的边长为L,四

2016-10-04 16:28:06 1054

原创 基于仿真模拟的弹道导弹封锁跑道效能分析

摘要本文运用蒙特卡洛方法,对装备单弹头的弹道导弹攻击单条机场跑道的效能进行计算机仿真实验,研究了导弹在不同圆概率误差和瞄准策略下的毁伤效果。简介运用弹道导弹封锁机场,达成反介入效果,是现代战争中的重要议题。不同的瞄准策略对封锁效果至关重要。例如,在马岛战争期间,英国空军进行了“黑鹿行动”,用火神式轰炸机挂载自由落体式炸弹对阿根廷斯坦利港机场进行轰炸,在该行动中,“火

2016-10-01 22:11:38 1389

原创 ACM/ICPC2016沈阳网络赛(不完全)解题报告

比赛地址:http://acm.hdu.edu.cn/contests/contest_show.php?cid=7241003.hannnnah_j’s Biological Test题目大意:圆周上有N个不同的椅子,要让M个相同的人坐在上面,使得两人之间至少隔K把空椅子,求方案数(模1e9+7)。0题解:考虑每两个人之间隔了几把椅子。可以发现

2016-09-18 19:57:14 6983 5

原创 【斯坦纳树】【LA5717】Beijing 2011 Peach Blossom Spring解题报告

在不务正业大半年后继续开始写正经的解题报告……题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3718题意:一个N斯坦纳树:这道题是基于斯坦纳树的。斯坦纳树的定义是:给定一张图和一

2016-09-07 22:11:42 590

翻译 反介入/区域拒止:现代战争的演变

在战争史上,对手总会尝试拒止另一方在战场上的行动自由。过去的反介入方式兼有保护己方力量和防止敌军获取优势的目的。作为远征部队,美军正依赖于安全地向战区部署,以及获取和维持制空、制天、制海权的能力。但是,中国作为一个区域大国,已显现出强壮的反介入/区域拒止(A2/AD)能力,用以瓦解美国向西太平洋的力量投射。为了在反介入/区域拒止环境下进行成功的军事行动,美国领导人必须将反介入/区域拒止作为一种新的战争手段,理解与之相关的行动影响,并且消除军事目标和手段之间的任何不平衡。

2016-01-18 13:35:23 19724

原创 [CodeChef FEB14]Graph Challenge解题报告(求半支配点)

题意给一张有向图,使得从1开始按某种顺序DFS,可以让每个点的标号等于其DFS序号。求每个点的半支配点。题解使用Lengauer Tarjan算法,对这一算法的描述和证明见我的上一篇博文:http://blog.csdn.net/wmdcstdio/article/details/49868575当然本题只需要求半支配点。首先按照适当顺序DFS,还原题目

2015-12-02 20:59:33 1535

翻译 在流程图中求支配点的一种快速算法

首先,对输入的有向图做DFS,形成生成树T,将节点按DFS序标号。引理1.如果u然后,对每个节点w≠r,计算其“半支配点”sdom(w):min{v|有一路径v=v0,v1,...,vk=w使得v1,v2,...,vk-1>w}之后,使用半支配点计算每个点的最近必经点。对于w≠r,其半支配点sdom(w)必然是w在T中的一个严格祖先,而idom(w)是sdom(w)

2015-12-02 19:51:32 2869

原创 [CodeChef FEB15]Payton numbers(CUSTPRIM)解题报告

题目https://www.codechef.com/problems/CUSTPRIM(翻译来自洪华敦)定义三元组的乘法def multiply((a1,b1,c1), (a2,b2,c2)):s = (a1a2 + b1b2 + c1c2) + (a1b2 + b1a2) + (c1 + c2)t = floor[s/2] + 16(c1 + c2) - c1c2A

2015-11-26 20:29:38 920

原创 [CodeChef OCT13]斐波那契数Fibonacci Number解题报告

题目http://cojs.tk/cogs/problem/problem.php?pid=2114分析这道题是CodeChef上难得一见的优美数论题,比那些(净是中国人出的)丧心病狂的数据结构高到不知道哪里去了。题目基于两个算法:第一个是Tonelli-Shanks算法,第二个是Shanks大步小步算法(这个Shanks是会玩的)。前者参见我的上一篇博文:ht

2015-11-16 16:13:50 1432

翻译 Tonelli–Shanks算法

Tonelli-Shanks算法是一个求解二次平方根的算法。即,对于奇素数p,和p的一个二次剩余n,求解x^2≡n (mod p)这样的方程。“n是二次剩余”是什么意思呢?就是这个方程有解,如果没解,就叫“二次非剩余”……关于二次剩余,有一个叫“勒让德符号”(Legendre symbol)的玩意,它能判断对于奇素数p,a是否为p的二次剩余。懒得贴图片,把它写成L(a,p),其定义就是

2015-11-16 10:20:23 6438 1

原创 [CodeChef September Challenge 2012]Knight Moving(KNGHTMOV)题解翻译

首先,让我们忘掉答案可能会非常大,需要模10^9+7这一事实。我们将稍后考虑这一问题,讨论这将对解答造成何种影响。问题分为两种情况。情况1:A和B线性无关由于A和B线性无关,我们可以对空间中的所有点,向由正交向量A和B确定的空间中做一线性映射。这意味着我们可以将每个点(u,v)用(p,q)代替,使得:p*Ay + q*Bx = up*Ay + q*By = v

2015-09-23 16:10:36 1227

原创 星系模拟器开发日志(二) 各个组件

2015.8.13更新:上一章中解决了基本的画图技术,现在就该写真正的程序组件了。先写物理学组件,将其命名为physical module.h/cpp。出于显然的原因,所有值均按国际单位制。物理学组件包含:①坐标类Vec3,成员是x,y,z三个坐标,均为float。Vec3这个名字沿用自OpenGL标准。之所以是三维是为了给将来(可能的)改成立体

2015-08-13 15:00:14 1600 2

原创 星系模拟器开发日志(一) 如何科学地用C++画图

8.11更新:最近突然有一个想法:写一个程序,用来模拟太阳系的行星运动,甚至是任意星球的运动。感觉这个想法非常excited,所以就准备开始写。程序的名字就叫“星系模拟器”吧,或者也可以称作“拉普拉斯的长者?”为了避免写完后过一个月看不懂代码的悲剧重演,我准备把整个开发过程都记在这里。工具:①一只NOIP选手②一台电脑③一本《C++图形与游戏编程基础》

2015-08-13 11:29:13 2472

原创 [USACO Open10]数三角形Triangle Counting解题报告

题目http://cojs.tk/cogs/problem/problem.php?pid=543分析这道题的要点在于:含原点的三角形不好数,我们数不含原点的三角形,最后用C(N,3)扣掉它就是答案了。怎么数“不含原点的三角形”呢?画出我们所在的坐标系。我们拿一条过原点的直线l,按极角序去扫描:直线l分成两条射线,一个是a

2015-07-03 21:22:42 1342

原创 [USACO Mar10]星牛争霸StarCowraft解题报告

题目http://cojs.tk/cogs/problem/problem.php?pid=2010分析首先可以发现,我们能够把三种单位的战斗力同时乘以一个数而不改变结果。因此,不妨设第三种单位的战斗力S3=1.出于方便,不妨记x=S1,y=S2对于一场比赛,我们能够写出一个类似这样的式子:j1x+j2y+j3=)整理后得到一个类似这样的

2015-07-03 17:36:45 1775

原创 [USACO Jan09]安全路径Safe Travel解题报告

题目http://cojs.tk/cogs/problem/problem.php?pid=279分析首先把最短路径树画出来(由题意最短路径唯一,所以是树):其中1是根。我们将树记作T,i的子树记作B。图中,B是绿色点,T-B是红色点。而1~i最短路上的最后一条边(也就是不能走的边)即i的父亲边。将这条边去掉以后,1~i的最短路长什么

2015-07-01 08:02:33 1931

原创 [USACO Dec08]巨大的围栏Largest Fence解题报告

题目http://cojs.tk/cogs/problem/problem.php?pid=2008分析这是道挺有意思的计算几何题……首先我们考虑一个弱化的版本:给出N个点,其中最靠下的点是D(若有多个,取最靠左者),求过D,且含点数最多的凸包。这让我们想起了Graham和卷包裹法。如何得到一个凸包?

2015-06-30 14:04:29 1284

原创 [USACO Nov08]玩具toys解题报告

题目http://cojs.tk/cogs/problem/problem.php?pid=2007分析首先,稍有常识的人都会看出,这道题其实就是网络流24题中“餐巾问题”的加强版。“餐巾问题”的标准做法是费用流:每天拆成两点(i,i'),然后S向i'连容量Ti(第i天用量),费用0的边,代表当天的脏餐巾。当然还有别的边,但这个是最重要的。其实“餐巾

2015-06-29 19:51:04 6136

原创 [USACO Open08]牛的邻居Cow Neighborhoods解题报告

题目http://cojs.tk/cogs/problem/problem.php?pid=2006分析首先我们来搞一搞这个模型。和一个点的曼哈顿距离中间红点就是我们的奶牛君。如果我们把坐标系转45°,换言之做变换:x'=x+y,y'=x-y,那么这个区域就会变成一个正方形,像这样:其实就是条件

2015-06-29 12:03:55 1122

原创 [USACO Jan07]考试Schul解题报告

题目http://cojs.tk/cogs/problem/problem.php?pid=2003分析这道题比较有意思。首先,我们不用t和p来表示分数,我们用(x,y),代表满分为x的卷子得了y分。这样更加直观:把一份卷子视作向量,那么它的“分数率”也就是其斜率。最终的分数率自然就是所有向量之和的斜率。先考虑一个问题:假如对某个给定的d,现在已经按

2015-06-27 22:46:34 1163

原创 [CF 249D]Donkey and Start解题报告

题意第一象限上有n像这样:它的坐标是x轴往左,y轴往上……我估计这么做的原因是为了迷惑你……分析这道题的关键是很明显的:假设过原点,斜率为k1和k2的单位向量分别为v1和v2,那我们就以(v1,v2)为基底建立一组新的坐标系。而在新的坐标系中,规则就变成了:下一步只能选择x和y坐标均严格大于当前点的点。换言之,将所有点按x坐标

2015-06-26 11:59:25 774

原创 [CF 321D]Ciel and Flipboard解题报告

题意有一个n*n矩阵aij。n为奇数,m=(n+1)/2。我们每次可以选中一个m*m的子矩阵,将其中所有元素乘以-1.求最后矩阵中所有元素的最大和。n分析这道题是个结论题。对于第i行的三个值:j、m、m+j,每个子矩阵要么覆盖其中的0个要么覆盖其中2个。例如:n=5,m=3,那么对于某行的第1、3、4这三个元素,子矩阵要么覆盖其中0个要么覆盖其中2个。对

2015-06-24 14:28:07 975

原创 [CF 294D]Shaass and Painter Robot解题报告

题意有一个n*m的网格,有一个机器人初始在(x,y),面朝某个斜45°的方向。机器人会一直走,遇到墙就按弹性碰撞规则(就像台球碰到桌子边缘一样)反弹。机器人每走一格,就会将其所在格子染黑。问机器人走几格之后会将整张网格染成黑白相间(或判断这种情况永远不会发生)。分析首先有一个结论:边缘上所有该染黑的格子都已染黑,当且仅当整张网格已按要求染成黑白相间。证法是归纳。假设

2015-06-24 09:16:46 1011

原创 [CF 297E]Mystic Carvings解题报告

题意有一块圆形浮冰,其边缘上有2n(n①每对情侣打的两个洞必须是配对顶点,中间有曲线连接。②每对情侣之间的距离相等。x和y的“距离”是指,沿着浮冰边缘从x走到y,最少需要经过的熊洞数量+1。例如:左边这张图可以,右边这张图不行。图中,1~16为顶点,线代表配对的顶点,AB是一对情侣,CD是一对,EF是一对。左边图中,C到D的距离为1(经过0个熊洞),A到B的距离为2

2015-06-23 22:31:39 900

翻译 [CF 306E]Levko and Game题解翻译

题解翻译首先我们判断Levko是否能赢。把所有可改变权值的道路权值都改成r[i],然后从以s1,s2为起点做两次Dijkstra算法。令d1[i]为s1到i的距离,d2[i]为s2到i的距离。考虑一条连接a和b,可以改变权值的道路。如果d1[a]如果最终d1[f]如果我们将上面的条件d1[a]证明我们把Levko能改变权值的道路叫做“边”。当

2015-06-09 08:13:18 702

原创 [CF 316F3]Suns and Rays解题报告

作者注图片来自http://www.cnblogs.com/wangck/p/4294282.html题目大意给出一张位图,是太阳和周围的光芒,像这样:问有多少个太阳,并统计每个太阳周围的光线数量,排序后输出。图的规模是1600*1600,光线的宽度题解这题挺有意思。首先将白色“收缩”:如果一个点的周围有黑色,就将它变成黑的。重复

2015-06-08 20:56:17 972

翻译 [CF 329E]Evil题解翻译

题解翻译这道题的解法实际上非常简单:http://codeforces.com/contest/329/submission/4122927这道题要求我们证明一大堆东西(下面的证明超过80行)。假设n>=4.显然n首先,我们假设没有两个点的坐标相同。为了得到这一点,我们可以微小地抖动每个点,这不会改变答案。关键在于:A)“曼哈顿距离”,B)回路的起点和终点是

2015-06-06 23:05:12 838

原创 [CF 343E]Pumping Stations解题报告

题目翻译http://cojs.tk/cogs/problem/problem.php?pid=1994题解首先,有一个东西叫Gomory-Hu(戈莫里-胡)树。就是说,对于一张题中这样的图可以建出来一棵树,使得图中s~t的最小割等于树中s~t路径上的最小边权。那么问题来了:怎么建树呢?有两篇资料:Wiki百科:http://en.wikiped

2015-06-05 09:55:44 1509

原创 TJOI2015 Day2解题报告

旅游:http://cojs.tk/cogs/problem/problem.php?pid=1978在一棵N自然可以用树链剖分/LCT做。每一段区间存四个数:①“后减前”型的最大值fmx,②“前减后”型的最大值bmx(这是由于有时候区间可能会被翻转),③最大值mx,④最小值mn。合并时的思路是这样的:合并区间的fmx要么是max(a.fmx,b.fmx),要么是b.mx-a.mn

2015-05-14 16:07:01 824

原创 HAOI2015 解题报告

先给出ydc的题解地址:http://ydc.blog.uoj.ac/blog/336T1(树上染色):题目地址:http://cojs.tk/cogs/problem/problem.php?pid=1962首先有一个基础的想法是DP:令f[i][j]代表以i为根的子树中选了j个黑色点的最小代价(代价指该子树中所有边对答案的贡献之和)。在转移时,只需要

2015-04-28 12:00:43 2772

原创 [CF 303D]Rotatable Number解题报告

题目翻译http://cojs.tk/cogs/problem/problem.php?pid=1939题解出于可看性,就不用那么严格的数学语言讲了……首先明确一下“循环数”的定义:比如142857,它乘以1,2,3,4,5,6(必须是连续的这些数)能不重不漏地得到142857的所有循环排列。假设我们拿到了一个(十进制下的)循环数,不妨取142857

2015-04-14 15:05:03 1826

翻译 [CF 251E]Tree and Table题解翻译

题解翻译如果N=1,则答案为2.如果树中存在一个度数大于3的节点在,则答案为0.原因是网格中的每个格子的邻居数不超过3.如果树中没有度数为3的节点,则答案为2N^2-2N+4.这一公式可以在题目其他部分的解答中自然地推导出。同时,我们也可以写一个简单的DP来计算这种情况下的答案。无论如何,我们现在证明这一公式。首先,我们解决一个略有不同的问题,它在原

2015-04-13 16:33:41 745

原创 [CF 316G3]Good Substrings解题报告

题目Smart Beaver recently got interested in a new word game. The point is as follows: count the number of distinct good substrings of some strings. To determine if a string is good or not the

2015-04-13 14:54:37 1146

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除