这几天又在颓.

我的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. 阿里面试官:小伙子,你给我说一下JVM对象创建与内存分配机制吧

    内存分配机制   逐步分析 类加载检查: 虚拟机遇到一条new指令(new关键字.对象的克隆.对象的序列化等)时,会先去检查这个指令的参数在常量池中定位到一个类的符号引用,并且这个符号引用代表的类是否 ...

  2. Camtasia中对录制视频进行编辑——音效

    市场上有很多的视频处理软件,形形色色的软件往往会使人眼花缭乱,而对于那些短视频的制作者来说,拥有一款好的视频处理软件会让自己的视频收获更多的点赞.那么今天我便给大家推荐一款同时具有录屏和编辑视频功能的 ...

  3. 利用MathType在Word里输入几何符号的技巧

    通过学习几何学的知识,我们发现其中包含的几何符号有很多,比如有表示图形的符号,如三角形,平行四边形,圆,角,圆弧等:还有表示位置关系的符号,如平行,垂直等:还有表示矢量等其他符号,那这些符号怎么打出来 ...

  4. 这可能是项目中最实用的java8示例了,还不来看?

    ​一.组成及特点 数据源.中间操作.终端操作 流只能使用一次 并行流 和 串行流 二.可以产生流的数据源 集合.文件 三.中间操作 字符串操作拼接joining(""),底层实现是 ...

  5. gitlab 搭建(基于现有nginx)

    普通搭建请看:gitlab 搭建 一.gitlab搭建 1.添加GitLab镜像源并安装gitlab服务器 wget https://mirrors.tuna.tsinghua.edu.cn/gitl ...

  6. python3使用HTMLTestRunner生成测试报告

    自动化测试运行完了需要直观的了解测试结果,需要用到第三方的模块HTMLTestRunner. 一:下载 HTMLTestRunner 下载路径:https://pypi.python.org/pypi ...

  7. 3.深入Istio:Pilot配置规则ConfigController

    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com 本文使用的Istio源码是 release 1.5. Config Controller ...

  8. 虚拟机VMware15 Ubuntu18.04 搭建FTP服务器

    1.安装vsftpd sudo apt install vsftpd 2.查看是否安装成功,出现版本等信息即成功 sudo vsftpd -v 3.添加ftp用户 sudo useradd -m su ...

  9. C++/Java小白解Leetcode题,发现了知识盲区……

    一.初见LeetCode 大一时候学习C++,根据课程一直在PTA平台做题目,数据结构和算法的作业题目也是在PTA.后来发现牛客网学习资源也很丰富,孤陋寡闻,前几个月在知道LeetCode这个平台,跟 ...

  10. Django 的JsonResponse 与json

    json