• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
tmeteorj
Nothing is so big that it is impossible to get over, and hurt only serves to make us stronger. 没有什么事是大到无法战胜的,痛苦也只会让我们变得更加坚强。
博客园 | 首页 | 新随笔 | 新文章 | 联系 | 订阅 订阅 | 管理

2012年10月11日

POJ 3276
摘要: 题意:n头牛站成线,有朝前有朝后的的,然后每次可以选择大小为k的区间里的牛全部转向,会有一个最小操作m次使得它们全部面朝前方。问:求最小操作m,再此基础上求k。题解:1、5000头牛不是小数目,再怎么也得要n^2的算法,其中,枚举k是需要的,这就有n了,只能想办法给出一个n在O(n)时间内求出最小次数了。 2、对于给定的k,要想O(n)内把次数算出来,即只能扫一遍,一想到的必定是从前往后扫,遇到面朝后的就转头,但这一转牵扯太多,要改太多东西,k一大直接崩溃。 3、对于每次扫描到的第i个点,都至多只能改一次才能保证效率,即只改变化的。将牛的朝向弄成依赖型,即后者依赖于前者,这样在一个区间... 阅读全文
posted @ 2012-10-11 21:41 tmeteorj 阅读(1256) 评论(0) 推荐(0)
 
POJ 2654
摘要: 题意:n个人两两玩剪刀石头布的游戏,每个人玩k次,求最后每个人的胜利次数/(胜利次数+失败次数)题解:细心一点就没什么问题了。View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 int win[105],lose[105]; 6 int comp(char s1[],char s2[]) 7 { 8 switch(s1[0]) 9 {10 case 'r':11 switch(s2[0])12 {1... 阅读全文
posted @ 2012-10-11 21:01 tmeteorj 阅读(255) 评论(0) 推荐(0)
 
POJ 2619
摘要: 题意:给出一个特殊构造的三角形,具体看原题的图,问从第i个三角形到第j个三角形最少经过的边数。题解:对于这种一看就知道通过推数学公式做的题重点就在如何推出公式: 1、先把题目中不必要的东西都去掉,三角形放在那干啥?还是去掉吧,将它变成 1 3 2 4 6 8 5 7 9 11 13 15 ........即根据三角形的位置与他们相连的情况化成上面,只有相邻的至多三个点与某个点相连 2、观察上面第2i-1行,它的末尾都为i^2,含i个数,且它的下一行都是i^2+2k的形式。 3、将问题变一下,给出任意一个n可以利用... 阅读全文
posted @ 2012-10-11 19:54 tmeteorj 阅读(281) 评论(0) 推荐(0)
 
POJ 1856
摘要: 题意:给出一个r*c的矩形,问有多少不相交的矩形。矩形:‘#’组成,且必须是实心。相交:有边、或者点相邻。题解:对于每一个含'#'且未被访问过的点进行一次dfs,并标记此次dfs所能到的最小最大x,y和总共访问了多少个点(ret),如果Δx*Δy=ret,则答案加1,否则,就是错误的。View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 int maxx,maxy,minx,miny,r,c; 6 char 阅读全文
posted @ 2012-10-11 18:54 tmeteorj 阅读(265) 评论(0) 推荐(0)
 
 

公告


博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3