摘要:
题意:给你n个点,点间m条路,给出在每条路要走的时间。现在有q个任务,要摧毁q个点,每次提供ci和ti表示在时间ti摧毁点ci(必须正好在时间ti才能摧毁),每个点可能需要多次摧毁(同一时间能在同一个点摧毁无数个点),允许在某个点停留任意时间。问现在要派几个小兵去摧毁点,最少派几个? 原题: 思路: 阅读全文
摘要:
题意(FJUT翻译HDU): 钱陶陶家门前有一棵苹果树。 秋天来了,树上的n个苹果成熟了,淘淘会去采摘这些苹果。 到园子里摘苹果时,淘淘将这些苹果从第一个苹果扫到最后一个。 如果当前的苹果是第一个苹果,或者它严格高于之前选择的苹果,那么淘淘将采摘这个苹果; 否则,他不会选择。 题目来了:已知这些苹果 阅读全文
摘要:
题意: 给定n个数a1,a2,a3,……an。和m次操作。 每次操作格式如下 x y k 表示将a[x]替换为y。并求替换后,前k小的数之和 思路:我们用带权线段树维护权值,这里就是维护i的个数num[i],然后顺便维护一下和。每次查询前k个数求和。 练习赛题解: 代码: 阅读全文
摘要:
思路:求树上两点的距离,显然是dep[u] + dep[v] - 2 * dep[lca],用树上倍增去写。 参考:树上倍增的写法和应用(详细讲解,新手秒懂) 代码: 阅读全文
摘要:
题意:给一个16进制8位数,给定每个数字的贡献,问你贡献和。 思路:数位DP,想了很久用什么表示状态,看题解说用和就行,其他的都算是比较正常的数位DP。 代码: 阅读全文
摘要:
题意:给你n个数字s1~sn,要你把它们组成一棵棵二叉树,对这棵二叉树来说,所有节点来自S,并且父节点si<=子节点sj,并且i<j,问你树最少几棵二叉数、树 思路:贪心。我们往multiset加还能加子节点的节点,二分查找一个个大于等于当前插入节点的节点,然后插入,若找不到则重新建一棵树。 没想到 阅读全文
摘要:
题意:问任意两对ai,aj相加的总进位数为多少。比如5,6,95分为(5,6)(5,95)(6,95),进位数 = 1 + 2 + 2 = 5 思路:显然暴力是会超时的。我们可以知道总进位数等于每一位进位数之和,所以我们可以把10个位数的进位分开算,每次%10^k,排序后用二分找到刚好的位置,然后算 阅读全文
摘要:
题意:每一条边至少有一个端点要涂颜色,问最少涂几个点 思路:最小顶点覆盖:用最少的点,让每条边都至少和其中一个点关联,显然是道裸最小顶点覆盖题; 参考:二分图 代码: 阅读全文
摘要:
题意:找出字符串p中的w串删除,反复操作,直到找不到w,输出这个串 思路:哈希处理前缀和,如果值相同就删掉。 代码: 阅读全文
摘要:
思路:离散化之后,直接模拟就行,标记vis开三维 代码: 阅读全文