随笔分类 - 思维
摘要:题目传送门题意:题目巨晦涩的传递出1点和n点的初度等于入度等于1, 其余点出度和入度相等分析:求最小和可以转换成求最短路,这样符合条件,但是还有一种情况.1点形成一个环,n点也形成一个环,这样也是可以的,这样SPFA要稍微修改点,d[s] = INF,表示可以更新.#include using na...
阅读全文
摘要:题目传送门题意:给一些坐标轴上的点,选一个点,使得其他点到该点曼哈顿距离和最小分析:这题有很强的技巧性,直接计算每个点的曼哈顿距离和是不可行的。这里用到了前缀的思想,先对点按照x从左到右排序,p[i].sum保存选择i点时曼哈顿距离和是多少,p[i].sum = (i - 1) * p[i].x -...
阅读全文
摘要:题目传送门 1 /* 2 题意:给出刷墙的所有的方法,求一种顺序,使得原矩阵刷成目标矩阵 3 暴力:(题解)我们只要每次找一行或一列颜色除了0都相同的,然后如果有对应的操作,就把这行这列都赋值成0即可 4 */ 5 /*****************************...
阅读全文
摘要:题目传送门 1 /* 2 思维/构造:赛后补的,当时觉得3题可以交差了,没想到这题也是可以做的。一看到这题就想到了UVA_11300(求最小交换数) 3 这题是简化版,只要判断行不行和行的方案就可以了,做法是枚举x[1],x[n]的所有可能,x[2~n-1]能递...
阅读全文
摘要:题目传送门 1 /* 2 题意:给一个树,节点上有权值,问最多能找出多少个点满足在树上是连通的并且按照权值排序后相邻的点 3 在树上的路径权值都小于这两个点 4 DFS/BFS+思维:按照权值的大小,从小的到大的连有向边,搜索最多连接点数即是答案。因为排序后,他们之间...
阅读全文
摘要:题目传送门 1 /* 2 题意:刷墙,斜45度刷红色或蓝色,相交的成绿色,每次刷的是连续的一段,知道最终结果,问最少刷几次 3 模拟+思维:模拟能做,网上有更巧妙地做法,只要前一个不是一样的必然要刷一次,保证是最小的,脑洞大 4 */ 5 #include 6 #include ...
阅读全文
摘要:题目传送门 1 /* 2 题意:n个时刻点,m次时光穿梭,告诉的起点和终点,q次询问,每次询问t时刻t之前有多少时刻点是可以通过两种不同的路径到达 3 思维:对于当前p时间,从现在到未来穿越到过去的是有效的值,排个序,从大到小询问,那么之前添加的穿越点都是有效的, 4 ...
阅读全文
摘要:题目传送门 1 /* 2 定义两个数组,l[i]和r[i]表示第i个数左侧右侧接近它且值是a[i]因子的位置, 3 第i个数被选择后贡献的值是(r[i]-i)*(i-l[i]),每个数都枚举它的因子,更新l[i], r[i],复杂度O(n*sqrt(a[i])) 4 */ 5...
阅读全文
摘要:题目传送门 1 /* 2 假设x1为1号给n号的金币数(逆时针),下面类似 3 a[1] - x1 + x2 = m(平均数) 得x2 = x1 + m - a[1] = x1 - c1; //规定c1 = a[1] - m,下面类似 4 a[2] - x2 + x3 = ...
阅读全文
摘要:题目传送门 1 /* 2 思维题:注意题目一句话:At some moment it happened so that they shot one and the same can. 3 如果两个人都有射中的话,肯定一个can同时被打中 4 */ 5 #includ...
阅读全文
摘要:题目传送门 1 /* 2 题意:数据加10组,再删掉第6组数据,问rejudge后最少最多几个作者收到邮件 3 思维题:当错在6时结果是不一定,错在7时是一定改变,因为会变成6 4 思路没错,但用结构题排序一直WA,代码有毒!学习使用set容器。 5 */ 6 #includ...
阅读全文
摘要:题目传送门 1 /* 2 题意:在坐标轴上一群蚂蚁向左或向右爬,问经过ts后,蚂蚁的位置和状态 3 思维题:本题的关键1:蚂蚁相撞看作是对穿过去,那么只要判断谁是谁就可以了 4 关键2:蚂蚁的相对位置不变 关键3:order数组记录顺序 5 */...
阅读全文
摘要:题目传送门 1 /* 2 题意:n个头,m个士兵,问能否砍掉n个头 3 贪心/思维题:两个数组升序排序,用最弱的士兵砍掉当前的头 4 */ 5 #include 6 #include 7 #include 8 using namespace std; 9 10 const in...
阅读全文
摘要:题目传送门 1 /* 2 题意:一个n×m的矩形,相邻的颜色不同,黑或白。问最少的翻转次数,每次翻转可指定任意一个子矩形 3 思维题:最少要把偶数行和列翻转,也就是n/2+m/2次 4 */ 5 #include 6 using namespace std; 7 8 int ma...
阅读全文
摘要:题目传送门 1 /* 2 题意:套娃娃,可以套一个单独的娃娃,或者把最后面的娃娃取出,最后使得0-1-2-...-(n-1),问最少要几步 3 贪心/思维题:娃娃的状态:取出+套上(2),套上(1), 已套上(0),先从1开始找到已经套好的娃娃层数, 4 ...
阅读全文
摘要:题目传送门 1 /* 2 题意:有n个商店排成一条直线,有一些商店有先后顺序,问从0出发走到n+1最少的步数 3 贪心:对于区间被覆盖的点只进行一次计算,还有那些要往回走的区间步数*2,再加上原来最少要走n+1步就是答案了 4 详细解释:http://blog.csdn.ne...
阅读全文
摘要:题目传送门 1 /* 2 题意:本来有n个雕塑,等间距的分布在圆周上,现在多了m个雕塑,问一共要移动多少距离; 3 思维题:认为一个雕塑不动,视为坐标0,其他点向最近的点移动,四舍五入判断,比例最后乘会10000即为距离; 4 详细解释:http://www.cnblogs....
阅读全文