洛谷 P2049 魔术棋子(vector)】的更多相关文章

题目传送门 解题思路: 用一个vector维护每一个点都可以乘出哪些数来,然后将(n,m)的所有数从小到大输出即可. 要用一个bool ff[j][k]来维护当前这个点(i,j)里面有没有被放过k,以此保证vector是个集合,不然会MLE(压维也不行) AC代码: #include<iostream> #include<cstdio> #include<vector> #include<cstring> using namespace std; ][],a…
P2049 魔术棋子 题目描述 在一个M*N的魔术棋盘中,每个格子中均有一个整数,当棋子走进这个格子中,则此棋子上的数会被乘以此格子中的数.一个棋子从左上角走到右下角,只能向右或向下行动,请问此棋子走到右下角后,模(mod)K可以为几? 如以下2*3棋盘: 3 4 4 5 6 6 棋子初始数为1,开始从左上角进入棋盘,走到右下角,上图中,最后棋子上的数可能为288,432或540.所以当K = 5时,可求得最后的结果为:0,2,3. 输入输出格式 输入格式: 输入文件magic.in第一行为三个…
P2049 魔术棋子 题目描述 在一个M*N的魔术棋盘中,每个格子中均有一个整数,当棋子走进这个格子中,则此棋子上的数会被乘以此格子中的数.一个棋子从左上角走到右下角,只能向右或向下行动,请问此棋子走到右下角后,模(mod)K可以为几? 如以下2*3棋盘: 3 4 4 5 6 6 棋子初始数为1,开始从左上角进入棋盘,走到右下角,上图中,最后棋子上的数可能为288,432或540.所以当K = 5时,可求得最后的结果为:0,2,3. 输入输出格式 输入格式: 输入文件magic.in第一行为三个…
https://www.luogu.org/problem/show?pid=2049 题目描述 在一个M*N的魔术棋盘中,每个格子中均有一个整数,当棋子走进这个格子中,则此棋子上的数会被乘以此格子中的数.一个棋子从左上角走到右下角,只能向右或向下行动,请问此棋子走到右下角后,模(mod)K可以为几? 如以下2*3棋盘: 3 4 4 5 6 6 棋子初始数为1,开始从左上角进入棋盘,走到右下角,上图中,最后棋子上的数可能为288,432或540.所以当K = 5时,可求得最后的结果为:0,2,3…
题目描述 在一个M*N的魔术棋盘中,每个格子中均有一个整数,当棋子走进这个格子中,则此棋子上的数会被乘以此格子中的数.一个棋子从左上角走到右下角,只能向右或向下行动,请问此棋子走到右下角后,模(mod)K可以为几? 如以下2*3棋盘: 3 4 4 5 6 6 棋子初始数为1,开始从左上角进入棋盘,走到右下角,上图中,最后棋子上的数可能为288,432或540.所以当K = 5时,可求得最后的结果为:0,2,3. 输入输出格式 输入格式: 输入文件magic.in第一行为三个数,分别为M,N,K…
P2765 魔术球问题 题目描述 «问题描述: 假设有n根柱子,现要按下述规则在这n根柱子中依次放入编号为1,2,3,...的球. (1)每次只能在某根柱子的最上面放球. (2)在同一根柱子中,任何2个相邻球的编号之和为完全平方数. 试设计一个算法,计算出在n根柱子上最多能放多少个球.例如,在4 根柱子上最多可放11 个球. «编程任务: 对于给定的n,计算在n根柱子上最多能放多少个球. 输入格式 第1 行有1个正整数n,表示柱子数. 输出格式 程序运行结束时,将n 根柱子上最多能放的球数以及相…
神奇的建模...原题链接 如果你真的把交换看成交换,就\(GG\)了.首先我们要把交换看成是白棋的移动. 然后,很容易的就想到建模的大致思路:建立超级源点S和超级汇点T,从S向初始局面每个白棋所在的格子连边,从目标局面每个白棋所在的格子向T连边,在相邻的格子中间加一些有限制的边,跑一波费用流. 那中间的那些边应该怎么加呢,先考虑把每个格子拆成两个点,中间连一条以交换次数为流量上限的边.但是这样会有问题,考虑某个白棋移动路径上的点,其实只有开头的格子交换了一次,中间的都是两次.只拆两个体现不了在中…
https://www.luogu.org/problemnew/show/P2765 看到这一题第一眼想到:这不是二分最大流吗,后来发现还有一种更快的方法. 首先如果知道要放多少个球求最少的柱子,很显然是一道最小点路径覆盖的题,将一个点拆成u,v两个点,u和S相连,v和T相连,之后的有向边i,就用ui和vj相连即可. 但是这题首先不知道有多少个球,所以考虑依次加入点以及和这个点相关的边,然后在残余网络上跑新的最大流,如果可以跑出流量来意味着这个点成功在现有的柱子上按排上了,如果跑不出来说明按排…
正解:dp+数论 解题报告: 传送门! 考虑对每种颜色的棋子单独考虑鸭,那显然有,当某一行或某一列已经被占据的时候,那一行/一列就不能再放别的颜色的棋子了,相当于直接把那一行/一列直接消了 显然就能考虑到dp?设f[i][j]:剩余i行j列的方案数 转移就枚举这个颜色的棋子放了p行q列,设g[d][p][q]:d个棋子恰好放了p行q列的方案数 直接枚举pq,f[i][j]=∑f[i+p][j+1]*g[c[k]][p][q] 现在就只要知道怎么求g就好 看到这种恰好balabala的应该就第一反…
P2765 魔术球问题 题目描述 问题描述: 假设有\(n\)根柱子,现要按下述规则在这\(n\)根柱子中依次放入编号为\(1,2,3,\dots\)的球. \((1)\) 每次只能在某根柱子的最上面放球. \((2)\) 在同一根柱子中,任何\(2\)个相邻球的编号之和为完全平方数. 试设计一个算法,计算出在\(n\)根柱子上最多能放多少个球.例如,在 \(4\) 根柱子上最多可放 \(11\) 个球. 编程任务: 对于给定的\(n\),计算在\(n\)根柱子上最多能放多少个球. 输入输出格式…