摘要: 题意:在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。对于给定的N,求出有多少种合法的放置方法。 分析: 1、数组,表示坐标范围的那一维至少要开到2N,原因是,副对角线通过相加判断是否在同一对角线,横纵坐标的范围会 阅读全文
posted @ 2016-11-08 16:14 Somnuspoppy 阅读(170) 评论(0) 推荐(0)
摘要: 题意:找到[a, b]符合下列要求的数的个数。 1、该数字能被m整除 2、该数字奇数位全不为d,偶数位全为d 分析: 1、dp[当前的位数][截止到当前位所形成的数对m取余的结果][当前数位上的数字是否到达了上限] 2、对于第三维的上限,例如一个数字是54362,那么如果前四位是5436,那么前四位 阅读全文
posted @ 2016-11-08 14:52 Somnuspoppy 阅读(287) 评论(0) 推荐(0)
摘要: 题意:用一个字符串表示树,0代表向下走,1代表往回走,求两棵树是否同构。 分析:同构的树经过最小表示会转化成两个相等的串。 方法:递归寻找每一棵子树,将根节点相同的子树的字符串按字典序排列,递归回去即可。最终得到的串将是这棵树的最小表示。 举例:0010011101001011,表示的树如下 根节点 阅读全文
posted @ 2016-11-08 14:01 Somnuspoppy 阅读(566) 评论(0) 推荐(0)
摘要: 题意:一个m行n列的图由#、*、o三种符号组成,分别代表冰山、海域、浮冰,问最多可放的炮舰数(要求满足以下条件) 1、炮舰只可放在海域处 2、两个炮舰不能放在同一行或同一列(除非中间隔着一个或多个冰山) 分析: 1、如果单纯只考虑不能放在同一行同一列,那就是行号与列号的匹配,原理与UVALive 6 阅读全文
posted @ 2016-11-07 17:40 Somnuspoppy 阅读(186) 评论(0) 推荐(0)
摘要: 题意:求最少的线可以覆盖一个由0、1两种数字组成的图中所有的1。 eg: 只需要两条线即可。 分析: 1、先为上述例子的行列标号 2、若图中数字为1,则代表该数字所在的行与列有关联。 例如第r1行第c3列的数字1,可以看成r1和c3为两个点,因为此处是数字1,所以这两个点之间可以连1条线 3、所以可 阅读全文
posted @ 2016-11-06 21:03 Somnuspoppy 阅读(287) 评论(0) 推荐(0)