Timus 1746 Hyperrook】的更多相关文章

题意:在一个n维坐标系中,坐标的范围是0到m - 1,如果两个点坐标只有一个维度的坐标不同则可以相互移动,给出p个点,问任意两个点之间路径为d的个数是多少,答案与p取模. 解法:只需要考虑两个点之间不同的维度的个数,递推方程:f[i][j]表示第i步时维度不同个数为j的路径数,f[i][j] = f[i - 1][j - 1] + f[i - 1][j] + f[i - 1][j + 1],由于d的数据范围很大,用矩阵乘法来优化递推关系,当d为1时,用一个矩阵a[i][j]表示从i个维度不同个数…
题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1997 这个星球上有两种人,一种进酒吧至少玩a小时,另一种进酒吧最多玩b小时. 下面n行是人进进出出的时刻,0为进,1为出.让你求是否有合法解. 将合法的进入和出去连边,然后二分匹配就可以了. #include <iostream> #include <cstring> #include <cstdio> #include <vector> #inc…
原题链接:http://acm.timus.ru/problem.aspx?space=1&num=1006 看到题第一反应:这玩意怎么读入…… 本地的话因为是全角字符,会占两个位置,所以需要使用两个getchar()(反正我的IDE会这样),而提交上去getchar是可以读入218,191这样的ASCII码值的. 主程序段就不用说了,随便暴力跑跑就好. 然后是几个坑点: “Your sequence does not have to be the same with the original…
http://acm.timus.ru/problem.aspx?space=1&num=1132 题意: 求 x^2 ≡ n mod p  p是质数 的 解 本题中n>=1 特判p=2,接下来求当p是奇素数时的解 引理1: 引理2:方程有解当且仅当 定理: 设a满足 不是模p的二次剩余, 即无解, 那么是二次剩余方程的解 #include<cstdio> #include<cstdlib> #include<algorithm> using namesp…
题目链接 http://acm.timus.ru/problem.aspx?space=1&num=1005 题目大意 给你一堆石头,现在需要你将这堆石头分成两堆,要求两堆石头的重量相差最小,求这个最小的值是多少. 解题思路 看完题目之后,我们可以了解一下数据的规模,最多就20个石头,所以我们可以列出我们能够解题的一些方法: 直接深度优先搜索,暴力得到每一种划分方法 二进制枚举,这也是一种暴力求解方法 将题目转化为01背包问题,动态规划求解 结合题目时间限制,我们最终选择第三种方法.所以现在来重…
https://vijos.org/p/1746 这题就是水题.裸的跑完每个点的最短路后直接可以暴力出解.. 这题贴出来是因为我改了下我的dijkstra的模板...(其实是原来一直写错了233 注意vis不要提前加.否则你懂的.. #include <cstdio> #include <cstring> #include <cmath> #include <string> #include <iostream> #include <alg…
http://acm.timus.ru/problem.aspx?space=1&num=1923 -- timus This is s problem about thd dfs and searching like the leetcode islands problems Creating three 2-D arrays: board, land(copy), visit. board: the input, land:(0: undecided, 1: B country, 2: M…
http://acm.timus.ru/problem.aspx?space=1&num=1929 combination problems. 排列组合问题. According to the problems, it is assumed that Holden is chosen and there are two more open positions. And based on this combination, constraints are needed to be satisfie…
把电话号码转换成为词典中能够记忆的的单词的组合,找到最短的组合. 我这道题应用到的知识点: 1 Trie数据结构 2 map的应用 3 动态规划法Word Break的知识 4 递归剪枝法 思路: 1 建立Trie字典树.方便查找, 可是字典树不是使用字符来建立的.而是把字符转换成数字.建立一个数字字典树. 然后叶子节点设置一个容器vector<string>装原单词. 2 动态规划建立一个表,记录能够在字典树中找到的字符串的前缀子串 3 假设找到整个串都在字典树中,那么就能够直接返回这个单词…
版权声明:本文作者靖心,靖空间地址:http://blog.csdn.net/kenden23/.未经本作者同意不得转载. https://blog.csdn.net/kenden23/article/details/24574109 Our program committee uses different tools for problem development: a mailing list, a version control system, an administration syst…