• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
DementRock
   首页          管理     
2010年2月16日
Sgu 104
摘要: 较为简单的DP,方程:f[i][j]=max(f[i][j-1],f[i-1][j-1]+v[i][j]),其中f[i][j]为前j个花瓶里放i束花的方法数,则答案为f[F][V]. 注意方案的记录sgu104Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/... 阅读全文
posted @ 2010-02-16 23:43 DementRock 阅读(374) 评论(0) 推荐(0)
Sgu 103
摘要: 容易想到,对于某个顶点,先到达总不会比后到达要差,因此本题可用贪心算法,联系图论中的最短路求法,本题可采用dijkstra算法,难点主要在边权的计算上,详见windywinter牛的题解: http://www.briefdream.com/sgu-103/。sgu103Code highlighting produced by Actipro CodeHighlighter (freeware)... 阅读全文
posted @ 2010-02-16 23:30 DementRock 阅读(866) 评论(0) 推荐(0)
Sgu 102
摘要: 三种方法:1、打表 2、用欧拉函数,该方法需要对n进行质因数分解,有公式:若 , 則3、直接模拟+gcd算法,复杂度nlogn我偷懒用第3种.......sgu102Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1#include<iostre... 阅读全文
posted @ 2010-02-16 22:44 DementRock 阅读(350) 评论(0) 推荐(0)
Sgu 101
摘要: 将条件转换为一个图,0~6作为图中的顶点,每一张多米诺骨牌作为一条连接两点数的无向边,那么答案就是一条欧拉路径。判定方法:一个图中存在欧拉路径,当且仅当这个图连通(此题中无需考虑),并且奇点数(即度数为奇数的顶点数)为0或者2。若奇点数为0,则从任意一个顶点开始做一次dfs即可。若奇点数为2,则从其中一个奇点开始做一次dfs即可。注意:1、不要忘了顶点0!2、生成路径后要判断是否连通!3、判断是否... 阅读全文
posted @ 2010-02-16 22:37 DementRock 阅读(1208) 评论(0) 推荐(1)
Sgu 100
摘要: 各大OJ首题必备~[代码] 阅读全文
posted @ 2010-02-16 22:30 DementRock 阅读(153) 评论(0) 推荐(0)
Sgu 224
摘要: 此题可用位运算优化的搜索算法来做,主要参考M67牛的位运算教程:http://www.matrix67.com/blog/archives/266主要思想是设置3个参数row,ld,rd分别代表纵列,主对角线和副对角线上的禁位情况,此题与n皇后问题稍有不同,是在n*n的棋盘上放置k个,所以需要稍稍修改,详见程序。sgu224Code highlighting produced by Actipro... 阅读全文
posted @ 2010-02-16 22:24 DementRock 阅读(335) 评论(0) 推荐(0)
Sgu 223
摘要: 此题可用状态压缩来做,首先dfs出单独一行所有可能的放置状态,存入数组s(如n=3时s[1]=000,s[2]=100,s[3]=010,s[4]=001,s[5]=101),并设c[t]为s[t]中1的个数。设f[l][t][k]是前l行已放完,第l行状态为s[t]且前l行共放置k个棋子的方法数,则f[l][t][k]=Sum{f[l-1][i][k-c[k]]},其中s[i]和s[t]需满足:... 阅读全文
posted @ 2010-02-16 18:39 DementRock 阅读(403) 评论(0) 推荐(0)
Sgu 222
摘要: 显然当n<k时答案为0当n>=k时,可分为两步:先在n*n的矩阵中选出k行k列,组成一个k*k的子矩阵,再在k*k的子矩阵中放置k个。前一步的方法数为C(n,k)*C(n,k),后一步的方法数为k!,故答案为(C(n,k))^2*k!。Sgu 222Code highlighting produced by Actipro CodeHighlighter (freeware)http:... 阅读全文
posted @ 2010-02-16 12:37 DementRock 阅读(289) 评论(0) 推荐(0)
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3