上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 48 下一页
  2013年1月25日
摘要: http://acm.timus.ru/problem.aspx?space=1&num=1580简单题 对于每个联通块进行搜索 必须所以连通块都可以求出解 才可以对于某个联通块 可以设起点为 a[]+b[]*x (0+1*x) 然后不断搜索 搜到没有搜到的计算这个点的a[]+b[]*x 如果搜到已经搜过的 如果b[i]+b[j]等于0 则看a[i]+a[j]是否符合所给的边 不符合则无解否则求出 x 的值 如果一个连通块中多次求得 x 的值 则每次必须一样代码:#include<iostream>#include<cstdio>#include<cstr 阅读全文
posted @ 2013-01-25 16:08 夜-> 阅读(201) 评论(0) 推荐(0) 编辑
  2013年1月24日
摘要: http://acm.timus.ru/problem.aspx?space=1&num=1888先分成几个连通块 然后枚举每个点为起点 计算它所在的连通块以它为起点得到的差(可能不存在)然后更新此连通块的最大差如果某个连通块的最大差 不存在 则无解如果每个连通块的最大差都存在 则需要分两种情况如果只有一个连通块 则这个连通块的最大差就是最终的最大差如果有多个连通块 则最大差就是49 因为每个联通块的起点不确定代码:#include<iostream>#include<cstdio>#include<cstring>#include<strin 阅读全文
posted @ 2013-01-24 10:29 夜-> 阅读(285) 评论(0) 推荐(0) 编辑
  2013年1月23日
摘要: http://acm.timus.ru/problem.aspx?space=1&num=1575这么狗血的题也有呀 无语了一般都是给出数据然后建图 这题都好 直接给图 自己弄去吧 幸亏有人给了数据 直接copy过来处理一下就可以了简单 floyd代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<map>#include<vector>#include<stack>#include<set& 阅读全文
posted @ 2013-01-23 20:41 夜-> 阅读(255) 评论(0) 推荐(0) 编辑
摘要: http://acm.timus.ru/problem.aspx?space=1&num=1323没有想那么多 直接暴力 dfs代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<map>#include<vector>#include<stack>#include<set>#include<map>#include<queue>#include<algor 阅读全文
posted @ 2013-01-23 19:45 夜-> 阅读(284) 评论(0) 推荐(0) 编辑
摘要: http://acm.timus.ru/problem.aspx?space=1&num=1630俄罗斯人的英语 你伤不起呀 看了N久也没看懂什么意思 最后查了N久 然后查了一份题解关键在于这句话 “then the minimal number of rods in a chain connecting these balls must be equal to the distance in centimeters between the centers of the balls”其实就是 两个球的最短连接 rod 数量必须等于这两个球的距离 反过来就好理解了 这两个球的距离等于 连 阅读全文
posted @ 2013-01-23 16:25 夜-> 阅读(185) 评论(0) 推荐(0) 编辑
摘要: http://acm.timus.ru/problem.aspx?space=1&num=1379二分 最短路代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<map>#include<vector>#include<stack>#include<set>#include<map>#include<queue>#include<algorithm># 阅读全文
posted @ 2013-01-23 09:52 夜-> 阅读(258) 评论(0) 推荐(0) 编辑
  2013年1月22日
摘要: http://acm.timus.ru/problem.aspx?space=1&num=1434将每一条线路 看成一个点 有共同站点的线路连一条边 并记录是那个共同站点 由于可能有多个共同站点 为了节约内存 应该避免建重边拥有出发站点的线路可以作为搜索的起点 拥有终点站点的线路可以是搜索的终点 这样的话用来搜索起点和终点就有多个了然后一遍bfs 最先搜到的终点 为最近 然后注意记录路径代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#includ 阅读全文
posted @ 2013-01-22 19:46 夜-> 阅读(239) 评论(0) 推荐(0) 编辑
摘要: http://acm.timus.ru/problem.aspx?space=1&num=1250最外层加上一层‘#’ 然后将island 和 sea 一层层的分离 如果某一层向外接触的 fragment 全是被诅咒的 那么这种被诅咒是会传递到这一层的代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<map>#include<vector>#include<stack>#include<se 阅读全文
posted @ 2013-01-22 16:27 夜-> 阅读(187) 评论(0) 推荐(0) 编辑
  2013年1月21日
摘要: http://codeforces.com/contest/265/problem/E每给定一组 a b 都要进行一次遍历 每次遍历将时间复杂度控制在 o(n)每次遍历需要用到dp 思想当遍历到 第 i 个位置时 假设第i中颜色 是kf[k] 表示以k这种颜色 结尾时的最大值以k颜色结尾时 其值可以使 b*v[i]如果前面出现过相同颜色 还可能是 f[k] 或 f[k]+a*v[i]如果前面出现过不同颜色 则取前面 最大的 结尾颜色 w 也可能是值 f[w]+b*v[i]然后选最优就可以了代码:#include<iostream>#include<cstdio>#inc 阅读全文
posted @ 2013-01-21 19:35 夜-> 阅读(177) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/contest/265/problem/D好题呀先按照求素数的方法 再求的过程中 把所给数组中具有相同素数约数的最邻近的两个数 进行建边 然后进行拓扑代码及其注释:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<map>#include<vector>#include<stack>#include<set>#include<map>#incl 阅读全文
posted @ 2013-01-21 15:31 夜-> 阅读(134) 评论(0) 推荐(0) 编辑
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 48 下一页