随笔分类 -  解题报告

摘要:Valera and Elections 题意:现在有n个候选人, 有n-1条路, 如果选择了这个候选人, 这个候选人就会将从自己这个城市到1号城市上所有坏的路都修复一下,现在求最小的候选人数目, 如果答案有多种情况输出任何一种都可以。 输入:x y k 表示x与y之间有一条双向通道, k==1 表 阅读全文
posted @ 2018-02-12 20:03 Schenker 阅读(236) 评论(0) 推荐(0)
摘要:Popular Cows 题意:一共有n头牛,m条崇拜关系,并且崇拜关系是可以传递的,偶像的偶像也是自己的偶像,求被除自己以外被其他所有牛崇拜的牛的数量。 题解:将强连通图缩成点,找到出度为0的点,如果有2个及以上就不能达成条件,如果只有一个,那么代表着其他点都有出去的边,且因为强连通锁点了,所以定 阅读全文
posted @ 2018-02-12 11:40 Schenker 阅读(135) 评论(0) 推荐(0)
摘要:Dima and Trap Graph 题意:Dima和Inna越来越喜欢对方,但是Dima的室友缺很没有热情出去玩,然后Dima就把他室友Seryozha骗进了陷阱里。现在Seryozha想要从陷阱里出来,每条路上有一个l,r, Seryozha在走路前可以选择一个X,然后每次通过一条路的时候都需 阅读全文
posted @ 2018-02-07 15:23 Schenker 阅读(243) 评论(2) 推荐(0)
摘要:Dima and Salad 题意:一共有n种水果,每种水果都有一个ai, bi,现求一个最大的ai总和,使得ai之和/对应的bi之和的值等于K。 题解:将bi转换成偏移量,只要偏移到起点位置,就代表左右偏移抵消了,就满足题意了,注意一点的是这个跑法和01背包的恰好消耗是一样的初始化方法,将起点设为 阅读全文
posted @ 2018-02-07 15:06 Schenker 阅读(199) 评论(0) 推荐(0)
摘要:Inna and Dima 题意:从图上的任意一个D点按着DIMADIMA的顺序走,问一共可以经过多少个DIMA,如果经过0个DIMA就输出“Pool DIma!“,如果可以有无数多个DIMA就输出”Pool Inna!",否则就输出个数。 题解:DFS搜索就好了,这里我刚开的时候思考的是每次从不同 阅读全文
posted @ 2018-02-06 20:31 Schenker 阅读(225) 评论(0) 推荐(0)
摘要:Proper Nutrition 题意:有n元钱,有2种单价不同的商品,是否存在一种购买方式使得钱恰好花光,如果有输入任意一种方式,如果没有输出“NO” 题解:可以使用拓展欧几里得快速求解。 阅读全文
posted @ 2018-02-05 21:49 Schenker 阅读(269) 评论(0) 推荐(0)
摘要:题意:反正就是让你从1开始输出欧拉回路的路径 题解:我也不是特别理解的套圈法 Watchcow 阅读全文
posted @ 2018-02-05 18:52 Schenker 阅读(166) 评论(0) 推荐(0)
摘要:Aizu - 2249 题意:国王本来有一个铺路计划,后来发现太贵了,决定删除计划中的某些边,但是有2个原则,1:所有的城市必须能达到。 2:城市与首都(1号城市)之间的最小距离不能变大。 并且在这2个原则下使得建路消耗最小。 题解:现在来分析一下,使得n个点联通至少需要n-1条路,然后因为求最小消 阅读全文
posted @ 2018-02-05 15:33 Schenker 阅读(168) 评论(0) 推荐(0)
摘要:ballman_ford 是对单源点到任意点最短路的处理方法(可以含负权边)。 对所有边进行n-1次循环,(n为点得个数),如果此时源点到这条边终点的距离 大于 源点到这条边起点的距离加上路得权值就进行更新。 题目链接 题意:FJ农场主有F个农场, 在每个农场内有 N个点, M条双向路, W个单向虫 阅读全文
posted @ 2018-02-05 14:15 Schenker 阅读(361) 评论(0) 推荐(0)
摘要:SUM and REPLACE 题意:给你n个数,进行m次操作,分别是将区间[l,r]内的所有数替换成自己的因子数 和 对区间[l,r]进行求和。 题解:可以发现2的因子个数还是2,1的因子个数还是1,所以如果某个数被更新成1或者2之后就不需要再进行更新了。 阅读全文
posted @ 2018-02-04 10:31 Schenker 阅读(193) 评论(0) 推荐(0)
摘要:POJ-Matrix 题意:给你一个n*n矩阵的灯泡,灯泡的初始状态都为0,T次操作,分别是翻转操作:将x1,y1 x2, y2的灯泡状态反转 和 查询操作 找出x1, y1位置灯泡的状态。 题解:开一个2维树状数组进行更新操作。 假设我们现在需要翻转A区域内的灯泡, 我们就需要先将ABCD4个区域 阅读全文
posted @ 2018-02-02 15:53 Schenker 阅读(171) 评论(0) 推荐(0)
摘要:POJ - 3067 题意:有(1-n)个城市自上到下在左边, 另有(1-m)个城市自上到下在右边,共有m条高速公路,现求这m条直线的交点个数,交点不包括在城市处相交。 题解:先将高速公路读入,然后按照左边城市序号小的在前,左边序号相同的按照右边城市序号小的在前,然后根据右边的城市序号求逆序数就可以 阅读全文
posted @ 2018-02-02 14:47 Schenker 阅读(178) 评论(0) 推荐(0)
摘要:题目:Substring 题意:给你一个有向图, 一共有n个节点 , m条变, 一条路上的价值为这个路上出现过的某个字符最多出现次数, 现求这个最大价值, 如果价值可以无限大就输出-1。 题解:当这个有向图构成一个环的时候就会使得值无限大,所以先用拓扑排序判断一下有没有环,如果有环直接输出-1, 如 阅读全文
posted @ 2018-02-01 19:31 Schenker 阅读(260) 评论(0) 推荐(0)
摘要:Letters Removing 题意:给你一个长度为n的字符串,然后进行m次删除操作,每次删除区间[l,r]内的某个字符,删除后并且将字符串往前补位,求删除完之后的字符串。 题解:先开80个set 将每个字符对应的下标存入空间, 然后每次删除了一个字符之后就将字符串的相应位置改成一个不会产生干扰的 阅读全文
posted @ 2018-02-01 11:14 Schenker 阅读(208) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1542 线段树扫描线又是线段树的一种特殊的跑法 先将X坐标离散化 然后将扫描线按照高度从矮到高进行更新 每次遇到下边的时候就在对应的左区间右区间所对应的cnt值++ 每次遇到上边的时候就在对应的左区间右区间所对应的 阅读全文
posted @ 2018-01-31 14:54 Schenker 阅读(322) 评论(0) 推荐(0)
摘要:题意:一共有n名员工, n-1条关系, 每次给一个人分配任务的时候,(如果他有)给他的所有下属也分配这个任务, 下属的下属也算自己的下属, 每次查询的时候都输出这个人最新的任务(如果他有), 没有就输出-1。 题解:需要用DFS建树来确立关系, 然后用线段树进行区间覆盖。 DFS建树: 从Boss 阅读全文
posted @ 2018-01-30 19:27 Schenker 阅读(274) 评论(4) 推荐(0)
摘要:题意: 一共有n张海报, 按次序贴在墙上, 后贴的海报可以覆盖先贴的海报, 问一共有多少种海报出现过。 题解: 因为长度最大可以达到1e7, 但是最多只有2e4的区间个数,并且最后只是统计能看见的不同海报的数目,所以可以先对区间进行离散化再进行区间覆盖的操作。 由于墙上不贴东西的时候对后面没有影响, 阅读全文
posted @ 2018-01-30 16:44 Schenker 阅读(210) 评论(0) 推荐(0)