Vijos题解
nn020701
这个作者很懒,什么都没留下…
展开
-
NOIP2016提高组D1T1玩具谜题
D1T1 玩具谜题 地址:玩具谜题Vijos 题解: 这道题因为是个圈,所以我们可以直接用取模O(1)模拟每次的位置变化,总时间就只用O(n),n最大只有100000可以轻松解决。但要注意编号变化的方向和每个人的朝向还有传递的方向。因为朝内人的左边和朝外人的右边是相同的方向,我们可以用异或来确定方向,不过每次都分类讨论也是可以的。代码:#include <iostream> #include原创 2017-09-03 20:36:33 · 706 阅读 · 0 评论 -
NOIP2016提高组D1T2天天爱跑步(lca+树上差分)
D1T2 天天爱跑步 地址:天天爱跑步Vijos 题解: 这道题我觉得应该与T3换一个位置,难度显然有问题的说。 在树上一个点跑到另一个点的位置显然通过路程为,s->lca(s,t)->t.我们因此就可以拆路径,拆成向上的s->lca(s,t)与向下的lca(s,t)->t.然后我们将向上和向下的两段路径分开来讨论。向上的时候,每个点观察到的点的深度实际就是观察点的深度加上观察时间(即走这么原创 2017-09-03 21:49:02 · 331 阅读 · 0 评论 -
[Vijos1864]NOIP2013提高Day2华容道
题目地址:华容道Vijos1864题解:这道题的正解是bfs+spfa 这道题的n和m最大只有30,也就是说所有的点最多只有900个。 对于一个状态来说我们只需要知道:起始格和空白格的位置。 对于空白格来说,它的位置是很容易改变的,如果把空白格和有的格子反过来看,空白格子是可以上下左右除了固定格随便移动的。因为起始格的位置改变是需要和上下左右的空白格来交换位置。所以我们在存贮状态的时候只需要存原创 2017-09-20 21:48:15 · 382 阅读 · 0 评论 -
有关矩阵乘法的学习
原先对矩阵不是很熟悉,用法也不清楚。有神犇给我推荐了这么一个网址十个利用矩阵乘法解决的经典题目.自己对着里面的题目写了一遍深有感触他在里面的题解已经很详细了,我主要是写在博客上保存这么一个网址和我自己题解的代码。T3:#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace st原创 2017-08-28 10:36:04 · 290 阅读 · 0 评论