随笔分类 -  acm

摘要:#include /* * source poj.2796 * 题目: * 给定一个非负数的数组 其中value[l,r] = sum(l,r) * min (l,r); * 求 最大值和,最大值的位置 * 题解: * 所求的区域的最小值是x的话一定是这个值向左右去延伸至比他大的元素为止 * 而这个问题的求解一般是n^2的问题,但是我们不能接... 阅读全文
posted @ 2017-08-31 17:14 默默无语敲代码 阅读(227) 评论(0) 推荐(0)
摘要:def cross(A,B): return A[0] * B[1] - A[1] * B[0] def vectorMinus( a , b): return ( (a[0] - b[0] )*1000,(a[1] - b[1] )*1000) def getLTDis( A, B ): lon1, lat1, lon2, lat2 = map(radians, [... 阅读全文
posted @ 2016-08-26 14:33 默默无语敲代码 阅读(2284) 评论(0) 推荐(1)
摘要:这道题 我没看出来 他只可以往下走,我看到的 8-connected ;所以今天写一下如果是 8-connected 怎么解; 其实说白了这个就是从上到下走一条线到达最后一行的距离最小; 从Map【a】【b】 到Map【a】【b+1】 的距离是Map【a】【b+1】 以此类推:建图即可; 然后在加一 阅读全文
posted @ 2014-11-03 12:19 默默无语敲代码 阅读(277) 评论(0) 推荐(0)
摘要:题目意思:说有一个人在(1,1) 他的目标点在(n,m) 每次是4方向的移动; 限制条件:有的各自之间有墙 或者门,强不可通过,有对应的要钥匙可以开启这个类型的所有门; 问题:求最少步骤数(和); 类似于poj 2935; 解:很明显的搜索 只要建图弄得好就非常好写:我还是 很推荐自己的建图 方法, 阅读全文
posted @ 2014-11-03 12:05 默默无语敲代码 阅读(413) 评论(0) 推荐(0)
摘要:这题没什么好说的:只要维护几个值就好了,因为属性是唯一而且不会改变的所以用Map 来映射下就好了,留下代码备用 阅读全文
posted @ 2014-10-22 18:06 默默无语敲代码 阅读(371) 评论(0) 推荐(0)
摘要:思路: 其实求解很简单直接说解法,移动K个后 上下的角动量最小,能肯定是相连的(n-k)个,至于为什么 你自己好好想想(easy); 对于一些等质量的质点中心在 所在位置和除以点的个数 average=sum[l,l+(n-k)-1]/(n-k); 一个点的值: (pi-average)* (pi- 阅读全文
posted @ 2014-10-22 18:04 默默无语敲代码 阅读(775) 评论(0) 推荐(0)
摘要:先说下题目的意思: 在一个二维坐标系中有N个点,某人要来个走遍所有点的旅行,但是他的车每次加油后只能走M个单位距离;所以要在这个N点中选一些建立加油站;问题来了:i^th 点 建加油站的花费是 2^(i-1); 求最小话费 用二进制表示;(其中1号必须建立加油站) 思路:有 10000>01111; 阅读全文
posted @ 2014-10-02 12:17 默默无语敲代码 阅读(164) 评论(0) 推荐(0)
摘要:太洗脑了; 题目意思:初始队列是1,2, 3.......n ;在打乱这个队列切保证每个数字都不在原来的位置上的情况下给出一个具有+,- 的队列; 被打乱的队列 和 原来队列 对应位置的大小的关系是那个给定的 +,- 队列; YY: 炸一看7S,n=20;状压DP 啊 开森的写完了,TTTTTTTT 阅读全文
posted @ 2014-10-01 16:48 默默无语敲代码 阅读(359) 评论(0) 推荐(0)
摘要:这算是 经典的树形DP 入门题吧: 题目的意思: 一个由N个点形成的树状网络;进入点是1;现在每个节点 有俩个属性 1:防守的人数,2 打败防守人数的奖励; 问由N个人组队去赚钱 最多赚多少:注一个人可以打败20个防守渣渣(这就是传说中的战五渣)!对于需要的人数取ceil(); 很经典的 依赖性的背 阅读全文
posted @ 2014-09-04 14:00 默默无语敲代码 阅读(195) 评论(0) 推荐(0)
摘要:题目意思:(13年长沙站的一道水DP,本人也去了,当时太水笔) 说俩个人竞争选票,每个人可以随机选择支持谁。每个人带有权重不同。 现在已经结束了投票阶段,你一个骇客 支持LIKE 你写了一个软件可以 用LIKE 的 X点能量翻转某个个节点,这个节点的儿子也一样跟着翻转(转自他的就是他的儿子,孙子也一 阅读全文
posted @ 2014-07-30 11:57 默默无语敲代码 阅读(245) 评论(0) 推荐(0)
摘要:题目意思:给一棵树,找到俩个不相交的通路,使得这俩个通路的长度和乘机最大; 解法: 小哥一看呵呵 这不就是枚举点 然后求俩边的树的直径在相乘求个最大值的题么! 呵呵 这个N 有100000 当时就不玩了; 学长指导了下我; 俺会了!/灯泡 在枚举点在书的直径上时点的左右的最长的链无非这几种情况如图( 阅读全文
posted @ 2014-07-30 11:17 默默无语敲代码 阅读(946) 评论(0) 推荐(0)
摘要:题目意思: 一棵树,找到最少的点能覆盖到所有的边,(也就是每条边俩端 至少有一个在你找到的集合); 解法:每条边只能被俩个点中的一个,或全部覆盖所以我们有树形DP来解: DP[num][flag]//代表在子树NUM全部被覆盖的情况下,flag=1,这个店也被覆盖:flag=false 这个店没被覆 阅读全文
posted @ 2014-07-30 10:29 默默无语敲代码 阅读(266) 评论(0) 推荐(0)
摘要:题目意思:一个N 个节点的苹果树,每个节点有一定数目的苹果;问从1 出发走K步 所能迟到的苹果(每一步只可以到相邻的节点) 解法: 走法包含以下基本的情况(其他的走法都可以由以下的组合出来): 1:在树上头也不回的往前; 2:回到走过的节点再去别的节点: 所以对于每个节点有一个 flag 走了没回来 阅读全文
posted @ 2014-07-30 10:20 默默无语敲代码 阅读(263) 评论(0) 推荐(0)
摘要:题目意思:有N 个节点形成树状结构,现在想知道。给定一个数字P,问:删除最少的边使得形成的子树的节点有P 个; 很明显的树形DP[i][j] I为根子树形成j个节点最少减多少; 依赖性01问题,只不过这个合并时候的输的初始化不好想; 给出代码加注释;#include <cstdio> 阅读全文
posted @ 2014-07-30 09:49 默默无语敲代码 阅读(158) 评论(0) 推荐(0)
摘要:题目意思: 电视台发送信号给很多用户,每个用户愿意出一些钱,电视台经过的路线都有一定费用,求电视台不损失的情况下最多给多少用户发送信号。多么明显的有依赖性的01背包: dp[i][j]对于借点I 背包容量J ; #include #include #include #include #include using namespace std; const int maxn=3004;... 阅读全文
posted @ 2014-07-30 09:31 默默无语敲代码 阅读(137) 评论(0) 推荐(0)
摘要:找到一个size=M 权值最大的子树; 多么明显 有依赖性的 01背包!这个依赖点是0 直接上代码: 阅读全文
posted @ 2014-07-30 09:15 默默无语敲代码 阅读(183) 评论(0) 推荐(0)
摘要:题意:n各节点其中1号是司令节点,叶子节点是收集信息的节点.现在破坏一些编使这个信息结构瘫痪(就是 让叶子节点和1号节点不连通); 要求他切割的边的最大值最小,且和不能超过M 解法:很普通的的二分答案,用树形DP判断这个解是否可行。 子啊 回溯合并的时候 如果这个边的cost>枚举的答案 肯定dp 阅读全文
posted @ 2014-07-30 08:58 默默无语敲代码 阅读(183) 评论(0) 推荐(0)
摘要:算是我的第一个树形DP 的题: 题目意思:N个城市形成树状结构。现在建立一些消防站在某些城市;每个城市有两个树形cost(在这个城市建立消防站的花费),limit ; 我们要是每个城镇都是安全的:就是每个距离这个城镇最近的消防站不能超过这个城镇的limit值; 解法:这个题目乍一看卧槽怎么玩!玩不了 阅读全文
posted @ 2014-07-30 08:30 默默无语敲代码 阅读(502) 评论(0) 推荐(0)
摘要:水题:在一个双连通的树上有一些点很有破坏性,我们要把这些带破环性的点隔开,就是破坏一些边使这些点之间不连通,破坏一条边需要一点时间,问最少需要多少时间(同一时间只能破坏一个地方,且忽略位置转移的时间); 首先我们应注意到这是一棵树!俩个点之间的通路是位唯一的: 解法:我们从大边开始枚举如果这条边 的 阅读全文
posted @ 2014-07-28 16:50 默默无语敲代码 阅读(278) 评论(0) 推荐(0)
摘要:这俩个题 题意::给出N(<1e5)个点求找到一个点作为聚会的地方,使每个点到达这里的距离最小。4311是 曼哈顿距离 4312是 切比雪夫距离; 曼哈顿距离 :大家都知道 对于二维坐标系a(xa,yb),b(xb,yb)的曼哈顿距离是abs(xa-xb)+abs(ya-yb); 看的出来这个距离和 阅读全文
posted @ 2014-07-28 16:13 默默无语敲代码 阅读(245) 评论(0) 推荐(0)