首页 > TAG信息列表 > HNOI2003
[HNOI2003]激光炸弹
题目描述: 一种新型的激光炸弹,可以摧毁一个边长为R的正方形内的所有的目标。 现在地图上有n(N ≤ 10000)个目标,用整数Xi,Yi(其值在[0,5000])表示目标在地图上的位置,每个目标都有一个价值。 激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆破范围,即那个边长为R的正方形的[HNOI2003]激光炸弹(二维前缀和+大坑点)
地图上有 N 个目标,用整数 Xi,Yi表示目标在地图上的位置,每个目标都有一个价值 Wi。 注意:不同目标可能在同一位置。 现在有一种新型的激光炸弹,可以摧毁一个包含 R×R个位置的正方形内的所有目标。 激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆炸范围,即那个正方形的边必激光炸弹(二维前缀和)——《算法竞赛进阶指南》, HNOI2003
99. 激光炸弹 地图上有 N 个目标,用整数 Xi,Yi 表示目标在地图上的位置,每个目标都有一个价值 Wi。 注意:不同目标可能在同一位置。 现在有一种新型的激光炸弹,可以摧毁一个包含 R×R 个位置的正方形内的所有目标。 激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆炸范围,P2279 [HNOI2003]消防局的设立 题解
题面 P2279 [HNOI2003]消防局的设立 solve 今天模拟赛考到一道一模一样的题目,但我还写了1h+,真的是越来越菜了 其实这道题一股树形 \(DP\) 的味道,但是要考虑很多状态,父亲,儿子,兄弟,所以考虑贪心 对于一颗以 \(x\) 为根节点的子树,我们考虑几种情况 需要父节点和兄弟节点给一点贡献P2278 [HNOI2003]操作系统
[HNOI2003]操作系统 题目描述 写一个程序来模拟操作系统的进程调度。假设该系统只有一个CPU,每一个进程的到达时间,执行时间和运行优先级都是已知的。其中运行优先级用自然数表示,数字越大,则优先级越高。 如果一个进程到达的时候CPU是空闲的,则它会一直占用CPU直到该进程结束。除非在[HNOI2003]操作系统
嘟嘟嘟 这道题就是一个模拟。 首先我们建一个优先队列,存所有等待的进程,当然第一关键字是优先级从大到小,第二关键字是到达时间从小到大。然后再建一个指针Tim,代表cpu运行的绝对时间。 然后分一下几种情况: 1.如果等待队列为空,那直接调到当前该执行的进程的到达时间,并把它放进等待P2280 [HNOI2003]激光炸弹
由于正方形边上的目标不会摧毁,所以如果按照左图的形式来投放炸弹,实际只能摧毁\((R-1)\times(R-1)\)个点,但如果按照右图的形式来投放炸弹,则能摧毁\(R\times R\)个目标,题目要求摧毁总价值最大的边长为\(R\)的正方型区域,显然按右图的形式来计算。 采用二维前缀和计算。 const int N=【洛谷2282】[HNOI2003] 历史年份(线段树优化DP)
点此看题面 给定一个数字串,让你把它划分成若干段,使得每段数字递增(可以有前导\(0\)),且在最后一个数尽可能小的前提下,字典序最大。 数据组数\(\le10^3\),\(|S|\le2\times10^3\) 暴力动态规划 首先大体思路自然是先从前往后\(DP\)一遍求出最后一个数最小的取值,再从后往前\(DP\)一遍求洛谷 P2278 [HNOI2003]操作系统(模拟,优先队列)
传送门 解题思路 首先是暴力做法: 从1开始枚举时间,每一次加一,判断有没有新的任务到达,然后挑出优先队列中的优先值最大的,执行一秒钟,在放回队列中。 显然是TLE的! 接着想一下优化: 找一找那里可以优化,发现只有时间!所以我们每一次取出队首(任务a)有两种情况——第一种是现在的时间+a的剩P2278 [HNOI2003]操作系统
题面:https://www.luogu.org/problem/P2278 本题很明显的优先队列,法则是按优先级从大往小排,优先级相同的按开始时间从小往大排,然后就保证了当前队头是正在执行的进程,之后当一个新的进程要进队时, 就判断它的开始时间和队中的进程的结束时间的大小,然后将能做完的进程都输出并[HNOI2003]操作系统 优先队列用法
题:https://www.cometoj.com/problem/1046 #include<bits/stdc++.h>using namespace std;typedef long long ll;struct node{ int id,daoda,xiaohao,val; bool operator<(const node &b)const{ if(val==b.val) return daoda>b.daoda洛谷 P2279 [HNOI2003]消防局的设立
题目描述 2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地。起初为了节约材料,人类只修建了n-1条道路来连接这些基地,并且每两个基地都能够通过道路到达,所以所有的基地形成了一个巨大的树状结构。如果基地A到基地B至少要经过d条道路的话,我们称基地A到基地B的距离为d洛谷 P2278 [HNOI2003]操作系统(优先队列)
题目传送门 解题思路: 一道没啥思维含量的模拟题,但是个人感觉代码实现不简单,可能是我太弱了,花了我6个小时,3次重写. AC代码: 1 #include<iostream> 2 #include<cstring> 3 #include<queue> 4 #include<cstdio> 5 6 using namespace std; 7 8 struct kkk { 9 int id,st,rP2278 [HNOI2003]操作系统 优先队列模拟
题目描述 写一个程序来模拟操作系统的进程调度。假设该系统只有一个CPU,每一个进程的到达时间,执行时间和运行优先级都是已知的。其中运行优先级用自然数表示,数字越大,则优先级越高。 如果一个进程到达的时候CPU是空闲的,则它会一直占用CPU直到该进程结束。除非在这个过程中,有一个洛谷 P2278 [HNOI2003]操作系统
题目描述 写一个程序来模拟操作系统的进程调度。假设该系统只有一个CPU,每一个进程的到达时间,执行时间和运行优先级都是已知的。其中运行优先级用自然数表示,数字越大,则优先级越高。 如果一个进程到达的时候CPU是空闲的,则它会一直占用CPU直到该进程结束。除非在这个过程中,有一个比