首页 > TAG信息列表 > Jsoi2014

【题解】【P4042 [AHOI2014/JSOI2014]骑士游戏】

【P4042 [AHOI2014/JSOI2014]骑士游戏】 最短路好题。 如果考虑dp的话,设\(f_i\)表示第i个怪物被消灭的最小代价,那么显然有\(f_i=min(k_i,s_i+\sum\limits_{j=1}^{r_i}f_{vj})\) 但是题目中,怪物会形成一个环,具有后效性。 这里有两种方法: 借助spfa思想,既然不知道从哪开始转移,那就全

LG 题解 P4041 [AHOI2014/JSOI2014]奇怪的计算器

目录前置芝士DescriptionSolutionCode 前置芝士 线段树 Description 简述题意: 给你一段序列 \(a\),要求支持下面 \(4\) 种操作,设操作完后的序列为 \(c\),输出操作完后的序列 \(c\)。 1、全局加 \(x\); 2、全局减 \(x\); 3、全局乘 \(x\); 4、全局加上该位置的起始值乘 \(x\); 还有一

[AHOI2014/JSOI2014]骑士游戏

题目链接 问题分析 如果这个图是个DAG,那么问题就简单了。按照拓扑序的逆序做DP即可。 那么问题就在于环。于是借助SPFA的想法,更新某个节点后向它的父亲拓展,直至不能更新。 这里需要注意把可能要被更新的节点入队,而不是确定要被更新的点,否则可能TLE。具体见参考程序。 参考程序 #in

P4042 [AHOI2014/JSOI2014]骑士游戏

题目背景 长期的宅男生活中,JYY又挖掘出了一款RPG游戏。在这个游戏中JYY会 扮演一个英勇的骑士,用他手中的长剑去杀死入侵村庄的怪兽。 题目描述 在这个游戏中,JYY一共有两种攻击方式,一种是普通攻击,一种是法术攻击。两种攻击方式都会消耗JYY一 些体力。采用普通攻击进攻怪兽并不能把

「JSOI2014」打兔子

「JSOI2014」打兔子 传送门 首先要特判 \(k \ge \lceil \frac{n}{2} \rceil\) 的情况,因为此时显然可以消灭所有的兔子,也就是再环上隔一个点打一枪。 但是我们又会发现当 \(n = 3, k = 2\) 时,这种情况也满足上述条件但是我们只能打掉两群兔子,所以选兔子最多的两个格子打。 对于剩下

「JSOI2014」学生选课

「JSOI2014」学生选课 传送门 看到这题首先可以二分。 考虑对于当前的 \(mid\) 如何 \(\text{check}\) 我们用 \(f_{i,j}\) 来表示 \(i\) 对 \(j\) 的好感度排名,那么对于两个人 \(i\),\(j\) 如果有 \(\max\{f_{i, j}, f_{j, i}\} > mid\) 那么显然这两个人是不能上同一个老师的课的

Luogu P4042 [AHOI2014/JSOI2014]骑士游戏

Link 直接转移可能会有环对吧,所以用spfa转移就完事了。 #include <bits/stdc++.h> #define LL long long using namespace std; namespace IO { char ibuf[(1<<21)+1],*iS,*iT; char Get() { return (iS==iT? (iT=(iS=ibuf)+fread(ibuf,1,(1<<21)+1,stdin),(iS==iT? E

【AHOI2014/JSOI2014】骑士游戏

JYY一共有两种攻击方式,一种是普通攻击,一种是法术攻击 两种攻击方式都会消耗JYY一些体力。采用普通攻击进攻怪兽并不能把怪兽彻底杀死 怪兽的尸体可以变出其他一些新的怪兽,注意一个怪兽可能经过若干次普通攻击后变回一个或更多同样的怪兽 而采用法术攻击则可以彻底将一个怪兽杀死

luogu P4042 [AHOI2014/JSOI2014]骑士游戏

这道题首先想到Dp。。 不妨设 f[i] 表示杀死怪兽 i 需要的最少体力, 那么有 f[i] = min( k[i] ,  s[i] + ∑ f [ri] ) , 这还是很好想的。。 但是没有办法转移啊,因为可能有环,高斯消元??,不存在的。。 然后就开始搞最短路了,但怎样建图呢,一般的跑最短路都是有起点,有终点,有边权,但这道题

[AHOI2014/JSOI2014]骑士游戏(SPFA的本质)

题意 消灭一个魔物有两种方法,消耗\(a_i\)代价将它彻底消灭,或者消耗\(b_i\)代价将它变成多个其他魔物,求消灭1号魔物的最小代价 思路 SPFA:一个点的最短路径被更新后它的儿子节点才可能被更新,于是将该点入队,这样做减少了没有更新的无用枚举 对于这道题,设\(dis_i\)表示一个\(i\)魔物被

[Luogu P4042][AHOI2014/JSOI2014]骑士游戏

    这道题上手一看,直接对怪兽建图,然后dfs搞个dp就行,最后很显然的,图太大dfs栈爆了。     好的考虑正解,其实每个怪兽的体力消耗,就是魔法杀死这个怪兽的消耗和普攻杀死它及生出的所有怪兽的消耗取最小值。那目测一下,求最小值,就和最短路有联系了。但是在跑最短路过程中会出现某个

AHOI2014/JSOI2014 奇怪的计算器

题目描述 题解: 考虑到经过一系列变化后小数不可能比大数大,我们可以用线段树维护区间修改。 重点是,每个节点都可以通过$a[i]=a[i]*t1+a0[i]*t2+t3$这个函数来表示,我们就可以把三个标记一起维护。 代码: #include<cstdio> #include<cstring> #include<algorithm> using namespace std

Ahoi2014&Jsoi2014 支线剧情

题目描述 题解: 每条边至少经过一次,说明经过下界为$1$。 然后套有源汇上下界最小费用可行流板子。 口胡一下。 此类问题的建图通式为: 1.假设原来的边流量上下界为$[l,r]$,那么在新图中建流量上界为$(r-l)$的边; 就是必须流的先流完,不一定的一会再算。 2.统计一下每个点流入的$l$之和$i

BZOJ 3876 [AHOI/JSOI2014]支线剧情 (最小费用可行流)

题面:洛谷传送门 BZOJ传送门 题目大意:给你一张有向无环图,边有边权,让我们用任意条从1号点开始的路径覆盖这张图,需要保证覆盖完成后图内所有边都被覆盖至少一次,求覆盖路径总长度的最小值 最小费用可行流板子题..   有源汇最小费用可行流 给定一张有源汇网络流图,必须保证图中每条边的