上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 47 下一页
摘要: 题目传送门题意:给一张无向图,问存在多少(a, b)表示a点到b点经过的边值小于等于x ((a,b) 和 (b, a)属于不同的方案)分析:首先将边权值和查询x值升序排序,从前往后扫描边,累加从u和v两个集合各自选取一个组成(a, b)的方案数(u,v属于不同的集合),不能从一个集合选两个,因为同一... 阅读全文
posted @ 2015-09-14 11:20 Running_Time 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 题目传送门题意:有一张无向图,度数小于2的点会被去掉,直到全都大于等于2,问连通块顶点数为奇数的权值和为多少分析:首先DFS把度数小于2的vis掉,第二次DFS把属于同一个连通块的vis掉,检查是否为奇数个定点,是累加和。用sz[i]表示i点真实还连着的点的个数代码:/***************... 阅读全文
posted @ 2015-09-14 10:58 Running_Time 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 题目传送门题意:一人过生日,很多人排着队送礼物。排队顺序是礼物价值大的优先,如果相等先来的优先。有m次开门,当t个人到了会开门让p个人进门。最后一次让门外的所有人按顺序进门。有q次询问,问第x个进门的人的名字。分析:很明显的优先队列,首先交给队友做,结果写的搓,无限RE。没办法只能我上,因为要对字符... 阅读全文
posted @ 2015-09-14 09:48 Running_Time 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 题目传送门题意:一块木板按照某个顺序切成a[1], a[2]...a[n]的长度,每次切都会加上该两段木板的长度,问选择什么顺序切能使得累加和最小分析:网上说这是哈夫曼树。很容易想到先切掉最长的,反过来也就是相当于每次取最短的两块合并成一块,直到最后剩下原来的一块,优先队列实现代码:/*******... 阅读全文
posted @ 2015-09-14 09:29 Running_Time 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 题目传送门题意:一辆卡车要行驶L长度,初始有P油,每行驶一个单位长度消耗一单位油。有n个加油站可以加油,问最少加油几次才能行驶L长度,如果不能输出-1分析:按照挑战书的解法,每走到一个加油站相当于获得一次加油的权利,等到油没有的时候再选择之前可加油的站的最大油量加上,可以用优先队列高效得到最大值,如... 阅读全文
posted @ 2015-09-14 09:12 Running_Time 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 题目传送门题意:可以交换两个相邻的数字顺序k次,问最后逆序对最少有多少分析:根据逆序数的定理如果逆序数大于0,那么必定存在1#include #include #include #include #include #include #include #include #include #includ... 阅读全文
posted @ 2015-09-12 20:53 Running_Time 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 首先抱来Matrix67大牛的文章(修改部分内容):位运算简介及实用技巧(一):基础篇去年年底写的关于位运算的日志是这个Blog里少数大受欢迎的文章之一,很多人都希望我能不断完善那篇文章。后来我看到了不少其它的资料,学习到了更多关于位运算的知识,有了重新整理位运算技巧的想法。从今天起我就开始写这一系... 阅读全文
posted @ 2015-09-12 20:23 Running_Time 阅读(296) 评论(0) 推荐(0) 编辑
摘要: Problem Statement Cat Noku has just finished writing his first computer program. Noku's computer has m memory cells. The cells have addresses 0 throug 阅读全文
posted @ 2015-09-12 19:17 Running_Time 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 水A - Multiplication Table不要想复杂,第一题就是纯暴力代码:#include #include #include #include using namespace std;const int N = 1e5 + 10;const int INF = 0x3f3f3f3f;in... 阅读全文
posted @ 2015-09-11 16:21 Running_Time 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 题目传送门题意:给你一棵树,树上的每个节点都有树值,给m个查询,问以每个点u为根的子树下有多少种权值恰好出现k次。分析:首先要对权值离散化,然后要将树形转换为线形,配上图:。然后按照右端点从小到大排序,离线操作:将每一个深度的权值分组到相同权值的cnt中,当sz == k时,用树状数组更新+1,表示... 阅读全文
posted @ 2015-09-10 21:27 Running_Time 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 题目传送门题意:在一面墙上贴海报,有先后顺序,问最后有多少张不同的海报(指的是没被覆盖或者只是部分覆盖的海报)分析:这题数据范围很大,直接搞超时+超内存,需要离散化:离散化简单的来说就是只取我们需要的值来用,比如说区间[1000,2000],[1990,2012] 我们用不到[-∞,999][100... 阅读全文
posted @ 2015-09-10 12:12 Running_Time 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 题目传送门题意:紧贴x轴有一些挨着的矩形,给出每个矩形的长宽,问能组成的最大矩形面积为多少分析:用堆栈来维护高度递增的矩形,遇到高度小的,弹出顶部矩形直到符合递增,顺便计算矩形面积,且将弹出的宽度都累积到当前的矩形中,这样最后再扫描一遍,算面积很方便,这题应该算是POJ 2559的强化版了收获:st... 阅读全文
posted @ 2015-09-09 19:38 Running_Time 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 题目传送门题意:先给出一些小组成员,然后开始排队。若前面的人中有相同小组的人的话,直接插队排在同小组的最后一个,否则只能排在最后面。现在有排队和出队的操作。分析:这题关键是将队列按照组数分组,用另外一个队列保存组的序号,当该组里没有人了才换下一组。很好的一道题。收获:队列的灵活运用代码:/*****... 阅读全文
posted @ 2015-09-09 19:18 Running_Time 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 题目传送门题意:有两个黑帮集团,给出一些两个小弟属于不同的黑帮,询问两个小弟是否关系能确定分析:首先直接弄两个集合是不好的,正确的做法是类似食物链的做法,关系已确定不属于同一个帮派的x 和 y 使得x 和 y + n属于同一个集合,y 和 x + n属于同一个集合,那么最后只要判断x 和 y 是否在... 阅读全文
posted @ 2015-09-09 19:09 Running_Time 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 题目传送门题意:n头牛,1~n的id给它们乱序编号,已知每头牛前面有多少头牛的编号是比它小的,求原来乱序的编号分析:从后往前考虑,最后一头牛a[i] = 0,那么它的编号为第a[i] + 1编号:为1,倒数第二头牛的编号为除去最后一头牛的编号后的第a[i-1] + 1编号:为3,其他的类推,所以可以... 阅读全文
posted @ 2015-09-09 18:47 Running_Time 阅读(217) 评论(0) 推荐(0) 编辑
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 47 下一页