感谢olinr提供md文件

免得我整理格式了

1、求助

(help.cpp/c/pas)

【问题背景】

马上就要noip了,lrt同志\(\displaystyle\begin{vmatrix}\textrm{慌}&\sqrt{\textrm{批}}\\\sqrt{\textrm{批}}&\textrm{的}\end{vmatrix}=慌得一批\),在某个透彻的晚四,找rqj整理OI知识点

【问题描述】

$\ \ \ \ \ \ \ $rqj可是个dalaojuruo,他有一个神奇的技能,可以把两个毫无关系的知识点完美的联系在一起,耗费时间 \(T_i\), lrt表示不服,但是他必须花好长时间才能做到,一次耗时\(t_i\ \ \ (t_i>T_i)\),对于整个OI知识网络,共有m种联系,每一种可以将两个知识点相连,现在二人要把整个OI知识联系起来,为了锻炼lrt,lrt必须自己想至少k个联系,但rqj日理万机,耐心有限,他希望这几次联系中,时间最长的那次联系的时间最小,但是rqj懒的算QAQ,于是来请聪明的你帮他算一算

【输入】

输入文件名\(help.in\)

第一行为三个整数\(n,k,m\),n为知识点数,m为联系个数,k如上述所示

接下来\(m\)行,每行四个整数\(x_i\ \ \ y_i\ \ \ T_i\ \ \ t_i\),

【输出】

输出仅一行,为最长联系时间的最小值

【输入样例】

4 2 5
3 4 9 12
3 2 8 10
4 2 6 7
2 1 7 9
3 1 4 5

【输出样例】

7

【数据范围】

对于\(30\%\)的数据,满足 \(1\le n \le 100\ ,\ n-1\le m\le 150\)

对于\(50\%\)的数据,满足 \(1\le n \le 5000\ ,\ n-1\le m\le 10000\)

对于\(100\%\)的数据,满足 \(1\le n \le 100000\ ,\ n-1\le m\le 200000\ , \ 1\le T_i<t_i\le 10^6\)

【题解】

可以kruskal,可以二分答案

kruskal:按照lrt的排序,先加lrt后加rqj即可

二分答案:二分那个最大值,先把lrt所有能加的加入,(判断是否小于k如果小于k返回false)

然后把rqj所有能加的加入

维护并查集,判断最后是否连一起

2、心动

(olinr.cpp/c/pas)

【问题背景】

透彻人不干氨醛事,olinr走上了一条不归路

【问题描述】

$\ \ \ \ \ \ \ $olinr很喜欢nmr,但是在二中的压迫下,透彻需谨慎,他必须合理安排在一起的时间,olinr和nmr在不同的教学楼,每天都要去不同的canteen打饭,他希望节约时间的前提下在一起走路的时间尽量长。

$\ \ \ \ \ \ \ $现在已知二人的教学楼和两个目标canteen还有二中的地图,有n个路口,m条路,每条路经过需要一

定的时间。

$\ \ \ \ \ \ \ $一句话概括题意:给出两个起点,终点,求最短路的最长公共路径

【输入】

输入文件名\(olinr.in\)

第一行为两个整数\(n\ ,\ m\),分别表示点数和边数

第二行为四个整数\(x_1\ \ \ y_1\ \ \ x_2\ \ \ y_2\) 分别表示两个教学楼和食堂的编号\(x_1\to y_1\ \ \ x_2\to y_2\)

接下来\(m\)行,每行三个整数\(x_i\ \ \ y_i\ \ \ z_i\) ,表示\(x_i\)与\(y_i\)有一条长度为\(z_i\)的边

【输出】

输出仅一行,为最长公共路径

【输入样例】

9 10
1 6 7 8
1 2 1
2 5 2
2 3 3
3 4 2
3 9 5
4 5 3
4 6 4
4 7 2
5 8 1
7 9 1

【输出样例】

3

【数据范围】

对于\(30\%\)的数据,满足 \(n \le 100\)

对于\(60\%\)的数据,满足 $n \le 1000 $

对于\(100\%\)的数据,满足 \(n \le 1500\),保证没有重边和自环

【题解】

先从s1,t1,s2,t2跑四遍dij,求出哪些边在nmr的路上

然后在olinr的最短路DAG上标出这些边

求最长链即可

3、透彻

(game.cpp/c/pas)

【问题背景】

奥赛部终于放假了, 像olinr这种人,当然选择透彻啦!

【问题描述】

$\ \ \ \ \ \ \ $olinr正在卧室的电脑前透彻。。。

$\ \ \ \ \ \ \ $olinr打算通关一个游戏,从而获得金币买装备。这个游戏有n个场景,有许多通关途径。具体来说,某些场景

可以通过分支到达其它场景,这些场景构成了一棵树。olinr此时在根节点,他要到叶子节点即可通关。每个场景

都有一些金币,olinr可以获得它们。由于太久没放假,olinr积累了大量的能力值,使得他可以同时通关\(k\)次,当

然,同一个场景再次走到就没有金币了QAQ(一个场景的金币只能获得一次),不过偷车时间宝贵,他急忙问

你,他最多能获得多少金币,你要在\(1s\) 内告诉他欧(1号节点为根节点)

【输入】

输入文件名game.in$

第一行为两个整数\(n\ ,\ k\),分别表示点数和次数

第二行为\(n\)个整数,分别表示每个场景的金币数量

接下来\(n-1\)行,每行两个整数\(x_i\ \ \ y_i\) ,表示\(x_i\)场景有一个分支通向\(y_i\)场景

【输出】

输出仅一行,为最大金币获得数量

【输入样例】

5 2
4 3 2 1 1
1 2
1 5
2 3
2 4

【输出样例】

10

【数据范围】

对于\(10\%\)的数据,满足$n\le10 $

对于额外\(15\%\)的数据,满足\(k=1\)

对于额外\(15\%\)的数据,满足是一条链

有额外\(\%5\)的数据,\(k=2\)

对于\(70\%\)的数据,满足\(n\le 50000\)

对于\(100\%\)的数据,满足\(n\le 200000,1\le每个点金币数\le2^{31}-1\)

【题解】

是bzoj的某道题

线段树+DFS序太麻烦

可以用长链剖分做

考虑这样的:

       /
/
[x]
/ | \
/ | \
[3] [4] [5]

可以转化为

      / / /
/ / /
/ / [x]
/ / |
/ | |
[3] [4] [5]

因为根据贪心,你选这可子树肯定先选5,然后选4,然后选3,既然选5那就是5+x

这样子就慢慢地把树变成了森林,且森林中每个树都只有一个节点,且树的数量和叶子节点相同

把树放到数组中sort取前k大就行了

10.20 olinr的更多相关文章

  1. 背水一战 Windows 10 (20) - 绑定: DataContextChanged, UpdateSourceTrigger, 对绑定的数据做自定义转换

    [源码下载] 背水一战 Windows 10 (20) - 绑定: DataContextChanged, UpdateSourceTrigger, 对绑定的数据做自定义转换 作者:webabcd 介 ...

  2. (转自http://www.blogjava.net/moxie/archive/2006/10/20/76375.html)WebWork深入浅出

    (转自http://www.blogjava.net/moxie/archive/2006/10/20/76375.html) WebWork深入浅出 本文发表于<开源大本营> 作者:钱安 ...

  3. Scrum会议10.20

    Scrum会议   组名称:好好学习 项目名称:记账本 参会成员:林莉(Master)胡丽娜 汪东涵 宫丽君 时间:2016.10.20 已完成内容: 1.理解项目和代码. 2.讨论新功能. 计划完成 ...

  4. 查询数据库:models.Books.objects.all()[10: 20]与models.Books.objects.filter(id__gt=10, id__lt=20).values() 的区别

    1. models.Books.objects.all()[10: 20] (10:20  之间是冒号,不是逗号.)查出的是 QuerySet对象,如需进行操作,得进一步进行剥皮. 查询代码: 查询结 ...

  5. OSC Source Code Innovation Salon(2018.10.20)

    时间:2018.10.20地点:北京 朝阳 浦项中心B座2层

  6. 第8次Scrum会议(10/20)【欢迎来怼】

    一.小组信息 队名:欢迎来怼 小组成员 队长:田继平 成员:李圆圆,葛美义,王伟东,姜珊,邵朔,冉华 小组照片 二.开会信息 时间:2017/10/20 17:20~17:45,总计25min. 地点 ...

  7. Daily Scrum 10.20

    今天进行了团队第一次scrum meeting,在这次会议中,我们针对NABC模型以及开发前期的工作进行了探讨. 第一次会议 主要内容如下: 为了大家接下来几周的开发效率,需要共同商量团队的一些规则 ...

  8. 1 2 5 10 20 --> 800

    用1元 2元 5元 10元 20元的钞票凑成800元的方法种数计算,使用了动态规划. 结果没打出来,只是保留在函数里各个vector中,调试可看所有结果. 优点:快 缺点:占空间占内存 耗时时间测试: ...

  9. 2018.10.20 XMYZ Day1总结

    上周的忘写了……题目没有作者…… T1.backpack 期望得分100,实际得分100. 感觉我自己真是不如以前了……以前做这种题都是秒掉的,现在怎么想了10分钟啊…… 因为物品的体积和价值都非常小 ...

随机推荐

  1. PHP函数(五)-回调函数

    回调函数是指调用函数的时候将另一个函数作为参数传递到调用的函数中,而不是传递一个普通的变量作为参数 使用回调函数是为了可以将一段自己定义的功能传到函数内部使用 声明回调函数的方法 变量函数声明 < ...

  2. Java8 日期和时间实用技巧

    新的日期API ZoneId: 时区ID,用来确定Instant和LocalDateTime互相转换的规则 Instant: 用来表示时间线上的一个点 LocalDate: 表示没有时区的日期, Lo ...

  3. docker 笔记 (6)搭建本地registry

    转:http://blog.csdn.net/felix_yujing/article/details/51564739 新版 registry v2对镜像存储格式进行了重新设计,并且和旧版还不兼容. ...

  4. Linux 查看一个端口的连接数

    netstat -antp|grep -i "80" |wc -l 譬如查看80端口的连接数

  5. MyBatis总结七:动态sql和sql片段

    开发中,sql拼接很常见,所以说一下动态sql: 1 if 2 chose,when,otherwise 3 where,set 4 foreach 用法解析(现有一张users表 内有id user ...

  6. day35-hibernate映射 03-Hibernate持久态对象自动更新数据库

    持久态对象一个非常重要的能力:自动更新数据库. package cn.itcast.hibernate3.demo1; import static org.junit.Assert.*; import ...

  7. IFC4 在线参考手册

    国内地址1:http://www.vfkjsd.cn/ifc/ifc4/index.htm 国内地址2:http://www.bim-times.com/ifc/ifc4/index.htm 官方地址 ...

  8. Ubuntu重启关机命令使用

    如果你想保持当前用户的登录而且使用root用户执行命令 可以输入:su root,输入密码 可以运行,shutdown 命令 重启命令: 1.reboot 2.shutdown -r now 立刻重启 ...

  9. Python程序设计9——数据库编程

    1 数据持久化 持久化是将内存中的对象存储在关系数据库中,当然也可以存储在磁盘文件.XML数据文件中.实现数据持久化至少需要实现以下3个接口 void Save(object o):把一个对象保存到外 ...

  10. 无法认识patch请求

    Content-Type: application/vnd.api+jsonbase64:账号密码的设置总结:该及时消化的知识,就应该当时消化.不能拖.注意细节,一个小细节的疏忽,导致自己几乎一天的时 ...