这几天又在颓.

我的blog难度目前还比较低,主要面向像我这样子的新手(当然内容也会尽量讲得具体清楚一些)x

如果有错误还请指出~


写完随笔之后才去翻了一下这题题解之后才注意到这题是有序的

QAQ完全不用像我这么麻烦啊x


题目链接<<

题目大意:

  • 有n个杂务,完成每个杂务都需要一个时间,并且有的杂务需要在准备工作(就是其他的一些杂务)完成之后才能进行,求完成所有杂务的时间.
  • 互相没有关系的杂务可以同时进行.
  • n<=1e5,每个杂务的准备工作不超过100个.

噫这应该算是经典题?(然而我今天才做x

一开始没看到准备工作不超过一百个…(emm空间开不起啊咋办?

然后又去看了一眼题面x日常石乐志

  • 好的我们把每个杂务看成一个有权值的点.
  • 杂务需要准备工作那就向准备工作连一条有向边.
  • 然后应该是求dag最长路?
  • 怎么求最长路啊?
  • 我也不会求啊.
  • 直接考虑求到每个点的最长路.
  • 读入的时候直接判一个杂务有没有准备工作,没有的话直接打上标记,到这个点的最长路就是这个点的权值.
  • 遍历每个点没有标记的话就记忆化dfs(跟dp差不多?
  • 这么做应该可以(反正我过了=w=

贴代码x

#include<cstdio>
const int N=10005;
const int M=1000005;
struct edge{int to,next;}edges[M];
int head[N],cnt;
int n,len,ans;
int dp[N],w[N];
bool mark[N];
inline int read()
{
int s=0;char c;while((c=getchar())<'0'||c>'9');
do{s=s*10+c-'0';}while((c=getchar())>='0'&&c<='9');return s;
}
inline int max(int x,int y){return x>y?x:y;}
inline void addEdge(int u,int v)
{
edges[++cnt]=(edge){v,head[u]};
head[u]=cnt;
}
inline int dfs(int x)
{
if(mark[x])return dp[x];
int temp=0;
for(int i=head[x];i;i=edges[i].next)
{
temp=max(temp,dfs(edges[i].to));
}mark[x]=1;
return (dp[x]=temp+dp[x]);
}
int main()
{
n=read();
for(int i=1;i<=n;i++)
{
int key,val,temp,tot=0;
key=read();val=read();dp[key]=val;
while(temp=read())
{
addEdge(key,temp);
tot++;
}
if(tot==0)mark[key]=1;
}
for(int i=1;i<=n;i++)if(!mark[i])dfs(i);
for(int i=1;i<=n;i++)ans=max(ans,dp[i]);
printf("%d",ans);
return 0;
}

View Magical Code~

[水题日常]Luogu1113 杂务的更多相关文章

  1. codevs 3070 寻找somebody4(水题日常)

     时间限制: 1 s  空间限制: 32000 KB  题目等级 : 黄金 Gold   题目描述 Description 有一天.....sb不见了,有个人要去找他..他发现sb在一个杨辉三角里.. ...

  2. codevs 1487 大批整数排序(水题日常)

     时间限制: 3 s  空间限制: 16000 KB  题目等级 : 黄金 Gold 题目描述 Description !!!CodeVS开发者有话说: codevs自从换了评测机,新评测机的内存计算 ...

  3. 51nod 1096 距离之和最小(水题日常)

    基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 X轴上有N个点,求X轴上一点使它到这N个点的距离之和最小,输出这个最小的距离之和.   Input 第1行:点的数量 ...

  4. [水题日常]UVA1639 糖果(Candy,ACM/ICPC Chengdu 2012)

    今天来尝试了几道数学期望相关的题,这是我认为比较有趣的一道题 这次不废话啦直接开始~ 一句话题意:两个分别装有n个糖果的盒子,每次随机选一个盒子然后拿走一颗糖(选的概率分别是\(p\)和\((1-p) ...

  5. [水题日常]UVA11181 条件概率(Probability|Given)

    话说好久没写blog了 好好学概率论的第一天,这题一开始完全不会写,列出个条件概率的公式就傻了,后来看着lrj老师的书附带的代码学着写的- 因为我比较弱智 一些比较简单的东西也顺便写具体点或者是按照书 ...

  6. vijos 1034 家族(水题日常)

    描述 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系. 规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚.如果x,y是亲戚 ...

  7. 洛谷 P1181 数列分段Section I(水题日常)

    题目描述 对于给定的一个长度为N的正整数数列A[i],现要将其分成连续的若干段,并且每段和不超过M(可以等于M),问最少能将其分成多少段使得满足要求. 输入输出格式 输入格式: 输入文件divide_ ...

  8. codevs 2728 整数帝国问题(水题日常)

    时间限制: 1 s  空间限制: 16000 KB  题目等级 : 白银 Silver 题目描述 Description 在很久以前,在遥远的东方,有一个整数帝国,它里面里居住着大量的正整数,了缓解都 ...

  9. codevs 1742 爬楼梯(水题日常)

    时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题目描述 Description 小明家外面有一个长长的楼梯,共N阶.小明的腿很长,一次能跨过一或两阶.有一天,他 ...

随机推荐

  1. Angular 富文本编辑之路的探索

    作者:杨振兴Worktile 前端工程师,PingCode Wiki 产品技术负责人 PingCode Wiki 提供结构化知识库来记载信息和知识,便于团队沉淀经验.共享资源,欢迎大家注册试用 本文主 ...

  2. 面试阿里,字节,美团必看的Spring的Bean管理详解

    IOC容器 工厂只负责创建对象,而Spring当然不仅仅是一个对象工厂,其核心是一个对象容器,其具备控制反转的能力,所以也称为IOC容器. 帮助我们存放对象,并且管理对象,包括:创建.销毁.装配,这样 ...

  3. 制作视频教程,用Camtasia你也可以

    一直以来,每当我在电脑使用过程中有不会的地方,往往我就会通过百度或者b站寻找教程,尤其是视频教程来学习,这样我往往就可以快速的学会相应的操作.当朋友在qq或者微信问我们一些操作时,我们却不能向他们提供 ...

  4. AWS CodePipeline部署Maven项目至EC2

    背景 AWS CodePipeline 是一种持续性的集成与交付服务,可以实现快速而可靠的应用程序和基础设施更新.根据您定义的发布流程模型,只要代码发生变更,CodePipeline 便会生成.测试和 ...

  5. 三 CSS基础入门

    CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素. 当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染). CSS语法 CSS实例 ...

  6. Spring简介以及配置信息

      Spring框架是一种轻量级的.一站式的企业级开发解决方案 框架(framework):是一组设计思想.规范.API的精心组合,专门用来解决某一层次或领域的问题 轻量级(lightweight): ...

  7. jmeter简单的压力测试

    Jmeter是一个非常好用的压力测试工具.  Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好.相比LR来说操作简单方便,关键是免费,基于JAVA开发,所以需 ...

  8. kafka producer 概要(看源码前,最好能掌握)

        kafakproducer概要(看源码前,最好能理解) 摘要 kafak 被设计用来作为一个统一的平台来处理庞大的数据的实时工具,在设计上有诸多变态的要求 它必须具有高吞吐量才能支持大量事件流 ...

  9. CF1156D 0-1-Tree

    路径考虑顺序. 显然合法的路径只有以下两种: 一段 \(0\) 加一段 \(1\) 或一段 \(1\) 加一段 \(0\). 全 \(0\) 或全 \(1\). 用并查集将边权为 \(0\) 和 \( ...

  10. 再论<? extends T>和<? super T>

    参考: https://www.cnblogs.com/drizzlewithwind/p/6100164.html Java 泛型 <? super T> 中 super 怎么 理解?与 ...