[USACO19OPEN]Snakes】的更多相关文章

题目链接 题目描述 传说,数千年前圣帕特里克消灭了哞尔兰所有的蛇.然而,蛇们现在卷土重来了!圣帕特里克节是在每年的3月17日,所以Bessie要用彻底清除哞尔兰所有的蛇来纪念圣帕特里克. Bessie装备了一个捕网,用来捕捉 N 组排成一行的蛇(1≤N≤400 ).Bessie必须按照这些组在这一行中出现的顺序捕捉每一组的所有蛇.每当Bessie抓完一组蛇之后,她就会将蛇放在笼子里,然后带着空的捕网开始捕捉下一组. 一个大小为 s 的捕网意味着Bessie可以抓住任意包含 g 条的一组蛇,其中 …
题目链接 题目简介:有n组,每组有若干个蛇的蛇队伍.(也可以理解为n条长度若干的蛇.)我们要用网捕捉,中途可以改变网的大小.目标是浪费空间最小. 解法:首先明确方法:DP.设f[i][t]为捕捉了n条,变换了t次的最小浪费空间.直接求浪费可能稍显麻烦,但是 浪费空间+必要空间=总空间,所以说求浪费空间就直接用 总-必就行了. 那么什么是必要空间呢,即每条蛇的长度.要求一群蛇的总长度,就利用前缀和. 那什么是总空间呢?为了使空间最小,同时又能抓蛇,所以我们追求 刚好能抓 的情况,也就是 最大蛇长*…
同swustoj 8 Snakes Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1015   Accepted: 341 Description Buffalo Bill wishes to cross a 1000x1000 square field. A number of snakes are on the field at various positions, and each snake can strike…
题目链接:http://poj.org/problem?id=2588 Snakes Time Limit: 1000MS   Memory Limit: 65536K   Description Buffalo Bill wishes to cross a 1000x1000 square field. A number of snakes are on the field at various positions, and each snake can strike a particular…
1151 - Snakes and Ladders Time Limit: 2 second(s)    Memory Limit: 32 MB 'Snakes and Ladders' or 'Shap-Ludu' is a game commonly played in Bangladesh. The game is so common that it would be tough to find a person who hasn't played it. But those who ha…
SNAKES : A A Flexible High-Level Petri Nets Library SNAKES是python一个可以用于Petri网的库 python2安装SNAKES库:  在cmd命令行中输入 pip install snakes (此处需要设置了全局变量才可以直接这样 否则需要先进入python2的安装目录) python3安装SNAKES库: 由于python2和python3有了细微的区别,pip install snakes 安装的库在python3中使用会出现…
Snakes and Ladders LightOJ - 1151 题意: 有100个格子,从1开始走,每次抛骰子走1~6,若抛出的点数导致走出了100以外,则重新抛一次.有n个格子会单向传送到其他格子,tp[i]表示从i传送到tp[i]. 1和100不会有传送,一个格子也不会有两种传送.问走到100的期望值. \(dp[i]\)表示从格子i走出去的期望次数 分两种情况考虑 格子不可以传送 \(dp[i] = \frac{1}{6} \cdot \sum_{j=1}^{k}dp[i+j] + \…
题目链接:https://vjudge.net/problem/LightOJ-1151 1151 - Snakes and Ladders    PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB 'Snakes and Ladders' or 'Shap-Ludu' is a game commonly played in Bangladesh. The game is so common th…
E - Polycarp and Snakes 题意:在一个全是点的图上开始画线,每次将一行或一列任意长度染成字母,一笔染一种字母,字母必须从a开始连续到后面某个字母可以覆盖. 问所给图案是否满足 ,若满足输出它画了几个字母,然后输出这每个字母开始和截止画的横纵坐标. 思路:存图,模拟,用个x1,x2,y1,y2记录每个字母出现位置的最小最大的横纵坐标,对于每个字母如果它的x1,x2,y1,y2不是初始值的话,那么它在图上就出现过(没有被覆盖掉),那么这个字母必然满足,x1==x2||y1==y…
 题目链接: https://vjudge.net/problem/UVALive-2554 题目大意: 题目的大概意思是又N*N的棋盘,编号从1 到 N*N 棋盘中分布着蛇和梯子玩家在位置1处,   然后掷骰子,如果点数在梯子尾则顺着梯子到达梯子头,若掷到蛇头,则滑到蛇尾   问最快到达终点所需掷的次数... 思路: BFS跑一遍,但是这里的BFS存储的是每一步能到达的所有得状态,而且没有必要把每一步变成的状态存储下来,根据上一步就可以直接推下一步.比如下图,红色表示蛇,绿色表示梯子,下面列出…
题解: 首先分析一下这个问题 发现等价于是求n之内与n互素的数的个数,即欧拉函数 这个可以线性筛 但发现还应该减去$x^2==1$的情况 这个东西不是那么好处理 考虑用中国剩余定理拆 因为$p1^{a1}*p2^{a2}*p3^{a3}....$这些是互素的 所以拆完后的方程的解和原方程是唯一对应的 问题变成$x^2 \equiv 1  (mod \ pi^{ai})$ 移项变成$(x-1)(x+1) \equiv1 (mod \ pi^{ai})$ 注意到当$pi>2$时$pi$不可能同时整除…
On an N x N board, the numbers from 1 to N*N are written boustrophedonically starting from the bottom left of the board, and alternating direction each row.  For example, for a 6 x 6 board, the numbers are written as follows: You start on square 1 of…
Problem 每个点都可以选择降落士兵,然后当一个点的子节点被攻占的数量超过读入中的限制后,这个城市也被占领. 每个点降落士兵都有一定的代价,问把这一个图全部攻占的最小代价. Solution 这显然和儿子有关还与父亲有关 我们假设f[x]表示x在父亲之前被攻占,g[x]表示x再父亲之后被攻占 显然有f[x]>=g[x] 在x放兵时,f[x]=g[x]=p[x]+∑gv 当x不放兵时,显然是在其儿子里选c[x]个取f[x](计算g[x]时为c[x]-1),剩下的取g[x].排序即可. Noti…
题意:1~100的格子,有n个传送阵,一个把进入i的人瞬间传送到tp[i](可能传送到前面,也可能是后面),已知传送阵终点不会有另一个传送阵,1和100都不会有传送阵.每次走都需要掷一次骰子(1~6且可能性一样),掷多少走多少,目的地超出100重掷,问你走到100所需掷骰子的期望. 思路:概率DP肯定的,但是会往前传送就很难直接算.用DP[i]代表从i走到100的期望. 那么如果i没有传送阵,则有:DP[i] = 1 / 6 * sum(DP[i + j]) + 1,1<= j <= 6,如果…
题目链接 loj 题解 感谢珂神的指导orz 观察式子\(i \times j \equiv 1 \pmod m\),显然\(i,j\)是模\(m\)意义下成对的逆元,只需统计模\(m\)意义下存在逆元的数的个数,即与\(m\)互质的数的个数\(\varphi(m)\) 每对逆元的连边有两种情况,记逆元对数为\(x\),则方案数为\(2^x\) 真的完了吗?难点才刚开始 模\(m\)意义下有的数逆元为本身!此时不能计入答案 所以我们还需求模\(m\)意义下逆元为本身的数的个数 重新理解一下中国剩…
首先来个期望的论文,讲的非常好,里面也提到了使用线性方程组求解,尤其适用于有向图的期望问题. 算法合集之<浅析竞赛中一类数学期望问题的解决方法> http://www.lightoj.com/volume_showproblem.php?problem=1151 题意:有个1~100个格子的地图,每次投骰子,点数1~6,问到达第100格所需的投骰子次数期望值是多少,注意如果最后走的点数超出了地图,不算完成.地图中有传送门,a b表示从第a格可以到b格. 思路:首先可以想到DP的转移有两种,如果…
思路: 在没有梯子与蛇的时候很容易想到如下公式: dp[i]=1+(∑dp[i+j])/6 但是现在有梯子和蛇也是一样的,初始化p[i]=i; 当有梯子或蛇时转移为p[a]=b; 这样方程变为: dp[i]=1+(∑dp[p[i+j]])/6 再就是注意当i+j>100时,停在原地不变. 代码如下: #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #includ…
原地址 讨论区 Changing 算法一 我会随机! 由于我忘了设置多组数据,期望得分0至100. 算法二 我会模拟! 复杂度\(O(t^2)\),期望得分60. 但是很多人忘记题目给出的是环形-- 算法三 我会正解! 实际上是数学题,显然时刻tt第kk盏灯的状态为 \[\left(\sum_{i=0}^t C_t^ia_{(k+i-1) \bmod n+1}\right) \bmod 2\] 求和即可.复杂度O(t),期望得分100. Calculating 算法一 我会推公式! 将ff分解质…
题意 在年度阅兵中,所有的士兵蛇都在阅兵场集合了,但这些蛇的站位不对.整场阅兵必须能从主席台看清楚,所有蛇都应该站成一排.但这些士兵非常懒惰,你必须指挥士兵重新排队,使得所有人的移动距离之和最短. 形式化地,整支阅兵队伍可以视作一条数轴.共有N条蛇,每条蛇是一根长度为L的线段.第i条蛇初始时占据了[Si,Si + L]的区间,蛇与蛇之间可以重合.能从主席台看到的只有区间[A,B],因此所有的蛇都应该处于这个区间内.蛇应该排列成连续一段,之间不能留缝隙,即这些蛇从前往后应该依次占据[X,X+L],…
On an N x N board, the numbers from 1 to N*Nare written boustrophedonically starting from the bottom left of the board, and alternating direction each row.  For example, for a 6 x 6 board, the numbers are written as follows: You start on square 1 of…
LightOJ - 1151 思路: 将期望dp[x]看成自变量,那么递推式就可以看成方程组,用高斯消元求方程组的解就能求解出期望值 高斯消元求解的过程也是期望逆推的过程,注意边界情况的常数项,是6/d,不是1 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include<bits/stdc++.h> using namespace std; #define y1 y11 #define…
题目如下: 解题思路:天坑题,不在于题目多难,而是要理解题意.题目中有两点要特别注意,一是“You choose a destination square S with number x+1, x+2, x+3, x+4, x+5, or x+6, provided this number is <= N*N.” 这里最大可以移动的x+6中的6真的就是数字6啊,不是例子中的N=6的6,可以理解成是掷骰子.二是“Note that you only take a snake or ladder a…
题目传送门 题目大意:10*10的地图,不过可以直接看成1*100的,从1出发,要到达100,每次走的步数用一个大小为6的骰子决定.地图上有很多个通道 A可以直接到B,不过A和B大小不确定   而且 如果99扔到100 那么只有1能走 扔其他的都要再扔一次      问从1走到100的扔骰子个数的期望 一篇讲的很好的题解 个人觉得,这道题期望没有可以加减的性质,(n不一定是从n-1过来的),所以不能采用这道题通过累加的递推.而每种状态如果写成式子,会发现$dp[100]$是已知的,而其他所有值都…
题意 洛谷 做法 用并查集维护区域,剩下的就只用判是否有洞就好了 然后手玩出一个结论:凸角为\(+1\),凹角为\(-1\),和为\(sum\),洞数\(h\),满足\(sum=4-4h\) 位置\((x,y)\)定义一个角:三面为空为凸,旁边两侧为空为凸,旁边两侧为空为凹 然后合并的时候顺便维护下\(sum\)就好了 题外话 貌似那个结论的一般形式跟这个有关:Gauss–Bonnet theorem 然后我比较懒就没管了…
题目 洛谷P5425(点击可跳转) 题目描述 Farmer John想要将他的编号为 \(1 \ldots N\)的 N N 头奶牛( \(N \leq 7500\) )分为非空的 \(K\) 组( $2 \leq K \leq N $ ),使得任意两头来自不同组的奶牛都需要走一定的距离才能相遇.奶牛$ x $ 和奶牛$y $ (其中$ 1 \leq x<y \leq N $ )愿意为了见面走 \((2019201913x+2019201949y) \mod 2019201997\) 英里. 给…
有100个格子,从1开始走,每次抛骰子走1~6,若抛出的点数导致走出了100以外,则重新抛一次.有n个格子会单向传送到其他格子,G[i]表示从i传送到G[i].1和100不会有传送,一个格子也不会有两种传送.问走到100的期望值. 题目链接 我们不难推出方程 但是由于dp值之间的前后影响 我们需要用高斯消元来解决 #include <bits/stdc++.h> #define ll long long #define inf 0x3f3f3f3f using namespace std; c…
之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询用.详细可以参考the-swift-programming-language-in-chinese,或者苹果官方英文版文档 当前版本是swift2.2 扩展(Extensions) 扩展 就是为一个已有的类.结构体.枚举类型或者协议类型添加新功能.这包括在没有权限获取原始源代码的情况下扩展类型的能力…
欧几里德距离评价: 以经过人们一致评价的物品为坐标轴,然后将参与评价的人绘制到图上,并考察他们彼此之间的距离远近.计算出每一轴向上的差值,求平方之后再相加,最后对总和取平方根. # -*- coding: UTF-8 -*- #一个涉及影评者及其对几部影片评分情况的字典 critics={'Lisa Rose': {'Lady in the Water': 2.5, 'Snakes on a Plane': 3.5, 'Just My Luck': 3.0, 'Superman Returns'…
A. Bracket Expression 直接按题意模拟即可. 时间复杂度$O(n)$. #include<stdio.h> #include<algorithm> #include<math.h> #include<string.h> #include<string> #include<vector> #include<set> #include<map> #include<queue> #in…
方法 现代浏览器中使用XPath document.getElementById document/node.getElementsByTagName Limit search by parent element document.getElementsByName document/node.getElementsByClassName document/node.querySelector, querySelectorAll 实践 标签链接 显示子节点数量 更多 总结 大部分时间里,为了与用…