LeetCode 357 Count Numbers with Unique Digits 找出每一位都不相同的数字
摘要:题意: 给定一个非负数n,要求算出所有符合条件的x。要求 0 ≤ x < 10^n,并且x的各位都不相同。 题解: 当n=0时,0<=x<1,因此只有x=0一种情况。 当n=1时,0<=x<10,即0-9共10种情况。 当n>=2时,最高位为1-9共9种情况,第二位不能与上一位相同但可以为0,因此也
阅读全文
HDU4001 最长上升子序列
摘要:题意: 共有n块砖,其长、宽、高分别为a、b、c,类型为d。 当d=0 其长、宽必须不小于其下面的砖。 当d=1 其长、宽必须不小于其下面的砖并且不能都与下面的砖完全相同。 当d=2 其长、宽必须都大于其下面的砖。 题解: 先将所有的砖块以长、宽的比较顺序从小到大进行排序,如果长宽都相同,则将d值大
阅读全文
HDU2444 二分图
摘要:题意: 有n个学生,他们之间可能互相认识。先判断是否可以分成两组,每组的学生互相都不认识,如果不能输出“No”。如果可以,每次从两组各拿出一个相互认识的学生组成一对,输出最多可以有多少对。 例如: 第一组数据: 4 4 1 2 1 3 1 4 2 3 由于1和其他所有学生都认识,而其它学生又有互相认
阅读全文
HDU2018 斐波那契
摘要:题解: 斐波那契数列的变形,递归求解即可。 设第n年有cow(n)头母牛 根据题意,第一年有1头,第二年有2头,第三年有3头。 当n>3,在cow(n)头母牛中,有cow(n-2)头可以生小母牛,所以下一年的母牛数cow(n+1) = cow(n) + cow(n-2) 所以求第n年母牛数的递推公式
阅读全文
HDU1427 速算24点
摘要:解题思路: 枚举所有可能的情况。 首先对四个数字进行全排列,对于每一种排列,通过dfs模拟出带不同括号的情况,对于每一种情况,再进行加减乘除的运算,看有没有一种情况能算出24的结果。 这里还有2个问题: 1 要对输入进行转换,尤其是A、10、J、Q、K这样的特殊牌。 2 在进行除法运算前要进行判断,
阅读全文
HDU1021 Fibonacci Again
摘要:题意: F(0)= 7, F(1) = 11 F(n) = ( F(n-1) + F(n-2) ) (n>=2). 输入n,若F(n)(mod3)为0则输出yes,否则输出no 题解: 如果直接暴力求解,由于n可以达到1,000,000的规模,必定会超时或栈溢出。因此采用找规律的方法。 n 0 1
阅读全文
HDU 1016 素数环
摘要:题意: 一个环有n个点,将1-n填入这些点中,要求相邻两个点和为素数。输入n,输出所有可能的填法。 题意:利用dfs对n个数进行全排列,有符合题意的排列则输出。
阅读全文
蓝桥杯:矩阵翻硬币
摘要:题目地址:http://lx.lanqiao.org/problem.page?gpid=T126 这道题强烈建议用java做,毕竟自带BigInteger类。 此题看似是一道模拟题,但由于数据规模很大(10的1000次方),只能找规律。规律是最终结果为sqrt(n)*sqrt(m),然后此题就成了
阅读全文
蓝桥杯:剪格子
摘要:题目地址: http://lx.lanqiao.org/problem.page?gpid=T27 剪开后两边各自的和都是总和的一半。做法是从左上角开始DFS,每次减去搜索到的格子直到为0,然后判断是否为格子最少的情况。
阅读全文
《挑战程序设计竞赛》 一二章部分代码题解
摘要:最近在看这本书,由于我在网上没有找到代码,特地把我的代码贴出来以供参考。由于是手敲,与书上的有所不同,如有错误欢迎指教。 1.6.2 POJ 1852 本题关键在于理解两只蚂蚁相遇后相当于交错而过继续前行。 2.1 搜索 2.1.4 POJ 2386 2.1.5迷宫最短路径(bfs) 2.2 贪心
阅读全文
动态规划之矩阵连乘和POJ 1651
摘要:题目: 设有矩阵M1,M2,M3,M4,其维数分别是10×20, 20×50, 50×1 和1×100,现要求出这4个矩阵相乘的结果。我们知道,若矩阵A的维数是p×q,矩阵B的维数是q×r,则A与B相乘后所得矩阵AB的维数是p×r。按照矩阵相乘的定义,求出矩阵AB中的一个元素需要做q次乘法(及q-1
阅读全文