P2233 [HNOI2002]公交车路线】的更多相关文章

P2233 [HNOI2002]公交车路线 题目背景 在长沙城新建的环城公路上一共有8个公交站,分别为A.B.C.D.E.F.G.H.公共汽车只能够在相邻的两个公交站之间运行,因此你从某一个公交站到另外一个公交站往往要换几次车,例如从公交站A到公交站D,你就至少需要换3次车. Tiger的方向感极其糟糕,我们知道从公交站A到公交E只需要换4次车就可以到达,可是tiger却总共换了n次车,注意tiger一旦到达公交站E,他不会愚蠢到再去换车.现在希望你计算一下tiger有多少种可能的乘车方案. 题…
P2233 [HNOI2002]公交车路线 题目背景 在长沙城新建的环城公路上一共有8个公交站,分别为A.B.C.D.E.F.G.H.公共汽车只能够在相邻的两个公交站之间运行,因此你从某一个公交站到另外一个公交站往往要换几次车,例如从公交站A到公交站D,你就至少需要换3次车. Tiger的方向感极其糟糕,我们知道从公交站A到公交E只需要换4次车就可以到达,可是tiger却总共换了n次车,注意tiger一旦到达公交站E,他不会愚蠢到再去换车.现在希望你计算一下tiger有多少种可能的乘车方案. 题…
洛咕原题 dp->矩阵乘法 首先我们可以得出一个状态转移方程 f[i][j]=f[i-1][j-1]+f[i-1][j+1] 蓝后发现,我们可以把这转化为一个8*8的转移矩阵 然后跑一遍矩阵快速幂即可 #include<iostream> #include<cstdio> #include<cstring> using namespace std; struct matrix{ ][]; matrix(){memset(a,,sizeof(a));} matrix…
题目背景 在长沙城新建的环城公路上一共有8个公交站,分别为A.B.C.D.E.F.G.H.公共汽车只能够在相邻的两个公交站之间运行,因此你从某一个公交站到另外一个公交站往往要换几次车,例如从公交站A到公交站D,你就至少需要换3次车. Tiger的方向感极其糟糕,我们知道从公交站A到公交E只需要换4次车就可以到达,可是tiger却总共换了n次车,注意tiger一旦到达公交站E,他不会愚蠢到再去换车.现在希望你计算一下tiger有多少种可能的乘车方案. 题目描述 输入输出格式 输入格式: 仅有一个正…
题目戳这里 一句话题意 一个大小为8的环,求从1到5正好n步的方案数(途中不能经过5). Solution 巨说这个题目很水 应该是比较容易的DP,直接从把左边和右边的方案数加起来即可,但是有几个需要注意的地方: 1.因为n有1e7所以需要滚动数组. 2.因为不能经过5,所以4只能从3转移,6只能从7转移. 3.记得取模. Coding #include<bits/stdc++.h> using namespace std; int f[2][9]; const int P=1e3; int…
仍然是学弟出的题目的原题@lher 学弟将题目改成了多组数据,n在ll范围内,所以我就只讲提高版的做法. 链接:https://www.luogu.org/problem/show?pid=2233 题意分析:看题目:) 解题思路:显然对于n为奇数的情况不存在任意路线.接下来我们进行观察数据,显然这题是要递推的.接下来通过暴力打表加手算,我们推出了这个公式: f[i]=4*f[i-1]-2*f[i-2],f[1]=2,f[2]=8,然后构造对应矩阵进行矩阵快速幂即可得到答案.时间效率\( O (…
洛谷 不知道大家做没做过传球游戏,这一题和传球游戏的转移方程几乎一样. 令\(A\)为\(1\)点,\(E\)为\(5\)点,那么\(f[i][j]\)代表第i步走到j的方案数. \[f[i][j]=f[i−1][j+1]+f[i−1][j−1]\] 因为题中给的是一个环,所以有几种情况. \[if(j==8)~f[i][j]=f[i−1][1]+f[i−1][7]\] \[if(j==1)~f[i][j]=f[i−1][8]+f[i−1][2]\] 还有,因为题中说,到了\(E\)点,就不会再…
P3879 [TJOI2010]阅读理解 考虑用 Trie 解决 #include<stdio.h> #include<bitset> #include<string.h> #define rep(i,n) for (int i=0; i<n; ++i) int n,m,t=1,cnt=1,l,*p,a[500000][26]; char c[20]; std::bitset<1010>v[500000]; int main() { scanf(&qu…
Day 0 水水比赛 Day 1 写写Dp Part1:Dp基础练习 [HNOI2002]公交车路线 秒切,点数这么少,N这么大,目测O(N)+暴力更新 5min写完 P3842 [TJOI2007]线段 这题其实不难,由于每行必须走完所以落脚位置只能在线段开头/末尾,先预处理开头结尾,然后设状态的时候附加一维表示在开头结束/在结尾结束 转移就直接上一行移下来的步数+这行步数QAQ P2513 [HAOI2009]逆序对数列 前缀和优化Dp套路题 前缀和优化Dp转移方程一般都是这样的: \(F[…
第一问最短路.第二问,先把最短路的图建出来(边(u,v)满足d[s->u]+d[v->t]+d(u,v)==最短路径长度,就在图中,可以从源点和汇点分别跑一次最短路得到每个点到源点和汇点的最短路),然后跑一遍最大流就OK了. --------------------------------------------------------------------------------------- #include<cstdio> #include<cstring> #…