TakeoffYoung

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2016年4月2日

摘要: function library is divided into static library and dynamic library. ___ 0x00. static function library it was compiled into target file, so, its not n 阅读全文
posted @ 2016-04-02 16:03 TakeoffYoung 阅读(158) 评论(0) 推荐(0) 编辑

摘要: System directory === ___ directories under "/" /bin/: to store user command, a little similar with /usr/bin/ /sbin/: for system command, a little simi 阅读全文
posted @ 2016-04-02 15:09 TakeoffYoung 阅读(139) 评论(0) 推荐(0) 编辑

2015年11月8日

摘要: Beautiful Spacing链接题意: 文本每行有w列,有n个单词。排列规则如下: 1、每两个单词之间必须有空格 2、除了最后一行,每行第一个单词第一个字母必须顶格,最后一个单词最后一个字母必须在最后一格。 3、同一个单词不能换行 要使得最大间隔最小解决: 使最大值最小的问题,显然... 阅读全文
posted @ 2015-11-08 13:00 TakeoffYoung 阅读(213) 评论(0) 推荐(0) 编辑

2015年11月7日

摘要: A: 多少a*a的正方形能够覆盖m*n的矩形。 长用多少覆盖,宽用多少覆盖,向上取整乘起来。注意爆int1 #include 2 3 int main()4 {5 int n, m, a;6 scanf("%d%d%d", &n, &m, &a);7 printf("%l... 阅读全文
posted @ 2015-11-07 23:05 TakeoffYoung 阅读(245) 评论(0) 推荐(1) 编辑

2015年11月5日

摘要: 题意: 给定一个长度不超过40的数字串s,求斐波那契数列的前十万项中,最小的一个前缀为s的数的下标。解决: 高精度算出前十万个斐波那契数,每个取前40位,建trie,查询O(40)(本地建立Trie跑了20s,让我知道了为啥服务器那么贵) 1 #include 2 3 int a[22... 阅读全文
posted @ 2015-11-05 17:16 TakeoffYoung 阅读(207) 评论(0) 推荐(0) 编辑

2015年11月4日

摘要: 题意: 给两种宝石,体积S1,S2,价值V1,V2,背包容量n,求最大收益解决: 题目没有给数据范围,不过显然不能背包。 先考虑性价,假设宝石1性价比高于宝石2,则宝石2最多不可能拿超过lcm(s1, s2) / s2个。 否则的话,这部分就可以以性价比更高的代替以换取更多的价值。 枚举性价... 阅读全文
posted @ 2015-11-04 21:52 TakeoffYoung 阅读(292) 评论(0) 推荐(0) 编辑

摘要: 1 #include 2 #include 3 4 const int MAXN = 1e5+10; 5 6 bool dp[MAXN]; 7 int num[MAXN], val[MAXN]; 8 int l, n; 9 10 int main()11 {12 while (~s... 阅读全文
posted @ 2015-11-04 20:52 TakeoffYoung 阅读(183) 评论(0) 推荐(0) 编辑

摘要: A:(hdu2081)Solution: get the last five digits, not mod 100000 cause the leading zero.B:(hdu2075)C:(hdu2071)D:(hdu2070)Solution: The 40th fibonacci n... 阅读全文
posted @ 2015-11-04 09:42 TakeoffYoung 阅读(139) 评论(0) 推荐(0) 编辑

2015年11月3日

摘要: A:(hdu1081)题意: 求和最大的子矩阵解决: 先考虑一维数组,可以O(n)复杂度求出 和值最大的连续子序列。 同理,对每一行维护前缀和,然后枚举从 l 列到 r 列,每行的 l 列到 r 列可以通过前缀和O(1)求出,然后对每行的 l 列和r 列之间的和值作为一维数组的元素,O(n)求... 阅读全文
posted @ 2015-11-03 22:14 TakeoffYoung 阅读(161) 评论(0) 推荐(0) 编辑

摘要: 题意: 给定模板序列,和m个代考察序列,求出每个序列和模板序列的相似度。 其中相似度的定义:待考察序列中的相同字母,均可以替换成其他相同字母。例如 A B A A C 可以替换成 B B B B C 或者 C B C C C。或者A A A A A(B C都变成A)。替换完成后,对应位置字母相同... 阅读全文
posted @ 2015-11-03 18:10 TakeoffYoung 阅读(231) 评论(0) 推荐(0) 编辑

摘要: 题意: n个二次函数,求定义域[0, 1000]时候每个函数的最小值当中的最大值。精确到1e-4解决: 三分,eps = 1e-9能过,因为二次函数的函数值精确到1e-4所以自变量x精确度必须高于1e-8 1 #include 2 3 const int MAXN = 1e4+10; 4 d... 阅读全文
posted @ 2015-11-03 18:02 TakeoffYoung 阅读(225) 评论(0) 推荐(0) 编辑

2015年11月1日

摘要: http://codeforces.com/problemset/problem/183/D 阅读全文
posted @ 2015-11-01 12:15 TakeoffYoung 阅读(136) 评论(0) 推荐(0) 编辑

2015年10月31日

摘要: 统计不相交LIS个数MAX FLOWdinic...太慢了,SAP竟然0msdp直接n2去做,记录每个元素结尾的LIS长度建图的时候,dp[i]=1的与源点建图,dp[i]=LIS的与汇点建图,dp[i] == dp[j] + 1, i, j 建图跑一边最大流 1 #include 2 3... 阅读全文
posted @ 2015-10-31 00:05 TakeoffYoung 阅读(273) 评论(0) 推荐(0) 编辑

2015年10月9日

摘要: #include #include #include const int MAXN = 300+10;const int INF = 0x3f3f3f3f;int n, nx, ny;int lx[MAXN], ly[MAXN];// adjacent matrix to store graphin... 阅读全文
posted @ 2015-10-09 19:02 TakeoffYoung 阅读(140) 评论(0) 推荐(0) 编辑

2015年8月19日

摘要: 题意: 求树上距离不超过k的点对数解决: 很经典的树分治 先不考虑树退化的情况。 对每个节点u,假设u有x个子节点,v1 v2 v3 .. vx,求出以u为根的子树上,所有不属于同一个v节点的,且距离不大于k的点对数。 且递归下去就是答案,无重无缺。 至于如何求上述的点对数量, 假设A... 阅读全文
posted @ 2015-08-19 11:33 TakeoffYoung 阅读(191) 评论(0) 推荐(0) 编辑

摘要: std::lower_bound(first, last, val) // 返回从左到右第一个大于等于val的位置std::upper_bound(first, last, val) // 返回从左到右第一个大于val的位置 阅读全文
posted @ 2015-08-19 01:37 TakeoffYoung 阅读(423) 评论(0) 推荐(0) 编辑

2015年8月12日

摘要: 题意: n个节点无根树,求从每个节点出发的最长链解决: 最长链有两种可能:1、以自身为根的子树上,从根到叶子节点的某条链。 2、 从自己出发,向上到父节点,加上父节点的最长链。 但是第二种情况有很多问题,首先,如果父节点的最长链是通过要求节点的话,我们就要用到父节点的次长链。并且还要判断,我们... 阅读全文
posted @ 2015-08-12 23:19 TakeoffYoung 阅读(195) 评论(0) 推荐(0) 编辑

2015年8月10日

摘要: 太无聊,就AC了一次A+B。 1 #include 2 #define _____ int 3 #define ___ ; 4 #define ______ main 5 #define ____ \n 6 #define _______________ std::cin>> 7 #define ... 阅读全文
posted @ 2015-08-10 19:46 TakeoffYoung 阅读(216) 评论(0) 推荐(0) 编辑

2015年8月8日

摘要: 题意: n个点(0 到 n-1), m条边,每条边花费都是1,容量不同, 有k个人在0点,问,最少需要多少时间所有人能走到点n-1解决: 建图,跑费用流的过程中贪心一下。 策略如下: 因为跑费用流的时候,每次增广路径的花费是递增的,假设按顺序找出了3条增广路径,w1, w2, w... 阅读全文
posted @ 2015-08-08 18:29 TakeoffYoung 阅读(252) 评论(0) 推荐(0) 编辑

2015年7月26日

摘要: 题意: 一个矩阵中 -1代表宝藏,0代表通路,其他正整数代表石头。两个人轮流采取操作:从矩阵外面任何地方进如矩阵,对可以到达的石头进行一次攻击,石头将掉一血,若石头掉为0血,则此处变为通路。问必胜方解决: 设有某一圈石头围在-1周围,且这一圈中每一个石头都只有1的血量,圈外无其他石头。则这一圈石... 阅读全文
posted @ 2015-07-26 23:27 TakeoffYoung 阅读(184) 评论(0) 推荐(0) 编辑

摘要: 题意: 给定一个点x0 y0, 以及N个向量,每个向量可选,可以取负再选。求从原点出发,按照这个向量走行走之后的能距离x0 y0的最远距离解决: dp1[i][j] 维护考虑第i个向量过后,横坐标为x的时候,纵坐标的最大值 dp2[i][i] 。。。。。。。。。。。。。。。。。。。。。。。。最... 阅读全文
posted @ 2015-07-26 19:56 TakeoffYoung 阅读(252) 评论(0) 推荐(0) 编辑

摘要: 题意: 给定一颗树,每机在区间 [0,L] 中选择。求最终形成的树上任意两点间距离不超过S的概率。解决: dp[以i为根][以j为叶子节点到i的最远距离] 当j*2s的时候,这个子树必定有且仅有一个链的长度是s,那么 枚举该链,让其他链的长度任意取值,所有情况之和就是概率。待补。 阅读全文
posted @ 2015-07-26 19:49 TakeoffYoung 阅读(257) 评论(0) 推荐(0) 编辑

2015年7月25日

摘要: 题意: 对一个 8x8的矩阵,有6种颜色可选,每次只能改变最左上角的颜色,改变的结果是,与该点连通的所有点都染成该颜色,问最少几次可以将整个图染成一样的颜色。解法: A* 搜索,估价函数为,若选择颜色 k,可以有多少格子在这次操作中被加入连通块,若估价为0,则剪掉。 vis[i][j] 可能为... 阅读全文
posted @ 2015-07-25 17:44 TakeoffYoung 阅读(132) 评论(0) 推荐(0) 编辑

摘要: 题意: 给定图G(N, M),会有q次询问,每次对应一条边的替换,问替换之后重新连通图的最小花费的期望。解决: MST + 树形DP dp[ i ][ j ] 表示 树上 i j 两个节电所在连通块通过 i j 以外的其他方式连接所构成最小花费待补 阅读全文
posted @ 2015-07-25 12:40 TakeoffYoung 阅读(123) 评论(0) 推荐(0) 编辑

2015年7月22日

摘要: 题意: 给定一个无向带权图G(n, m),一个人要沿着最短路从1走到n,现在可以任意从图上删边。求,最少删多少边可以使之无法到达终点 和 最多删多少边其仍可以到达终点想法: 比赛时的想法:直接跑最小费用最大流,spfa的时候维护一个最短路的值(min_dist),如果当前求得增广路径的最短路的... 阅读全文
posted @ 2015-07-22 13:16 TakeoffYoung 阅读(232) 评论(0) 推荐(0) 编辑

2015年7月19日

摘要: 题意: n个工厂加工电脑,电脑有p个部件。每个工厂加工的电脑必须是满足它对原材料的需求。p个部件,0代表不能有,1必须有,2代表可有可无。然后经过加工后,这个工厂输出的电脑各个部件的情况,0代表没有,1代表有。每个工厂有一个生产效率。求单位时间内的最多能生产的完整电脑数量。解决: 每个工厂拆成两... 阅读全文
posted @ 2015-07-19 10:01 TakeoffYoung 阅读(172) 评论(0) 推荐(0) 编辑

2015年7月14日

摘要: Problem link is here题意: n 块栅栏,宽度均为1 。红色油漆可涂面积 a , 绿色油漆可涂面积 b , 每块栅栏必须且只能涂一种颜色。 对于涂色状态有一个值, 为 每一个 栅栏和他旁边相邻的栅栏如果颜色不同,则该值加上两个栅栏中较低的一个。 求最小值样例解释:45 73 ... 阅读全文
posted @ 2015-07-14 18:49 TakeoffYoung 阅读(368) 评论(0) 推荐(0) 编辑

2015年7月13日

摘要: Greg and Friends题意: n个人过河,只有一条船,每个人体重只有两种可能,50或者100.船最大承重 k 。船必须由某一个人来划。求最小过河需要多少趟 , 以及 在这个次数下的方案数解决: dp[ i ][ j ][ tag ]; 对岸有 i 个体重50的人, j 个体重 100 ... 阅读全文
posted @ 2015-07-13 16:59 TakeoffYoung 阅读(206) 评论(0) 推荐(0) 编辑

2015年7月5日

摘要: fibonacci数的递归求法: 1 2 struct Fib 3 { 4 int x1; 5 int x2; 6 }; 7 8 Fib fib(int x) 9 {10 Fib ans;11 if(x == 2)12 {13 ans.x... 阅读全文
posted @ 2015-07-05 01:50 TakeoffYoung 阅读(303) 评论(0) 推荐(0) 编辑

2015年6月29日

摘要: 题意: 给出n个点(0 - n-1),m条边,code从0开始需要传播到1 - (n-1)的每个点,强连通分量之间的传播是没有花费的,求最小花费。思路: 缩点,遍历边集,维护两端不属于一个连通分量的边的权和。 1 #include 2 3 const int MAXN = 50000+... 阅读全文
posted @ 2015-06-29 11:54 TakeoffYoung 阅读(172) 评论(0) 推荐(0) 编辑

摘要: 选拔赛(2)简单的状态压缩+bfs屌洋直接用8维数组过的...代码美的一逼题意: 悟空(K)找唐僧(T),只能上下左右四个方向走,每步花费一个时间,碰到蛇精(S)需要额外花费一个时间去消灭,需要按照顺序(1, 2 ... k)搜集K把钥匙才能打开唐僧所在的房间。 总结: 在读入矩阵的时候,把每个... 阅读全文
posted @ 2015-06-29 03:07 TakeoffYoung 阅读(182) 评论(0) 推荐(0) 编辑

2015年6月25日

摘要: 554C Kyoya and Colored Balls即求 复合条件的序列数量序列最后一位必定是K。那么对于c[k]-1个剩下的K,有n-1个位置去放置。同理,对于颜色为k-1的球 在剩下的n-c[k]个位置中,必有一个在最靠右的空位置上。剩下的c[k-1]-1个球放在剩下的位置上类推core c... 阅读全文
posted @ 2015-06-25 03:15 TakeoffYoung 阅读(181) 评论(0) 推荐(0) 编辑

2015年6月10日

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1142题目意思挺模糊大致思路,以终点为源点,做一次单源最短路深搜一遍图(下一步到达的位置 比现在位置 离终点更近)记录每个节点上可行数 1 #include 2 3 struct Edge 4 { 5 ... 阅读全文
posted @ 2015-06-10 20:24 TakeoffYoung 阅读(186) 评论(0) 推荐(0) 编辑

2015年3月10日

摘要: 每走一步需要保证 (走完之后所到区域)距离实验室的最短距离 2 #include 3 #include 4 #include 5 6 #define MAXN 50 7 8 struct QueueNode 9 {10 int x, y;11 };12 13 int n, G[M... 阅读全文
posted @ 2015-03-10 16:33 TakeoffYoung 阅读(156) 评论(0) 推荐(0) 编辑

2015年3月9日

摘要: 括号匹配,结果为匹配后的串一、记忆化搜索(search with finger):从[0, strlen(s)-1] 开始搜索,缩短区间,期间记录搜索过的值,防止重复cut[l][r]代表区间[l, r]中需要从哪里分割,为输出串长不超过100 复杂度可以接受 1 // Brackets seque... 阅读全文
posted @ 2015-03-09 18:10 TakeoffYoung 阅读(130) 评论(0) 推荐(0) 编辑

2015年3月6日

摘要: dp[i] 代表能否凑出总数为i的cash 1 #include 2 #include 3 4 int n[11], d[11], cash, N; 5 bool dp[100010]; 6 7 int main(int argc, char const *argv[]) 8 { 9 ... 阅读全文
posted @ 2015-03-06 15:39 TakeoffYoung 阅读(144) 评论(0) 推荐(0) 编辑

摘要: dp[i][j]用前i个砝码,使"力矩"大小为j的情况数量极端情况下,20个重量为25的砝码,都挂在距离中心点-15的位置,得到力矩是-7500所以,让j=7500时为平衡状态 1 #include 2 #include 3 4 #define MAXN 20 5 6 int C, G, d... 阅读全文
posted @ 2015-03-06 15:03 TakeoffYoung 阅读(115) 评论(0) 推荐(0) 编辑

2015年3月5日

摘要: 解法一、网络流相邻的点染不同颜色: (行数+列数)为奇数的染成白色,(行数+列数)为偶数的染成白色source = 0, sink = n*n+1.source到每个白点连接,流量为白点的值黑点到sink连接,流量为黑点的值每个白点与其周围的黑点连接,流量为INT_MAX所有点的值的总和 - 最大... 阅读全文
posted @ 2015-03-05 23:36 TakeoffYoung 阅读(200) 评论(0) 推荐(0) 编辑

2014年12月28日

摘要: 1 // hdu2236 2 // Graph Match binary search + enumeration + bipartite 3 // Dec.26 2014 4 5 #include 6 #include 7 #include 8 9 #define MaxN 1111... 阅读全文
posted @ 2014-12-28 20:37 TakeoffYoung 阅读(157) 评论(0) 推荐(0) 编辑

2014年11月16日

摘要: 1.优化算法时间复杂度算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想。2.减少冗余数据如用上三... 阅读全文
posted @ 2014-11-16 22:22 TakeoffYoung 阅读(659) 评论(0) 推荐(0) 编辑