感谢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. jdk中那些常见的类不能被继承的

    对于java中的类,如果是使用final修饰的话,那么这个类就不能够被继承,因为jdk的开发者认为,有一些最基本的类没要必要对开发者开放,如果用户 继承时操作有误,很可能引入很多问题.为了防止用户对基 ...

  2. SQL中得到最后一个“-”后面的字符串

    declare @str varchar(50) set @str='-'+'1-9-3-2'--前面加个'-'防止没有'-'出错 select REVERSE(SUBSTRING(REVERSE(@ ...

  3. Celery-4.1 用户指南:Testing with Celery (用 Celery测试)

    任务与单元测试 在单元测试中测试任务行为的推荐方法是用mocking. Eager mode: task_always_eager 设置启用的 eager 模式不适用于单元测试. 当使用eager模式 ...

  4. PowerDesigner的CDM模型将低驼峰命名法则的每个大写字母前加_符

    Option   Explicit ValidationMode   =   True InteractiveMode =   im_Batch Dim   mdl   '当前model '获取当前活 ...

  5. python读取配置文件 ConfigParser

    Python 标准库的 ConfigParser 模块提供一套 API 来读取和操作配置文件. 配置文件的格式 a) 配置文件中包含一个或多个 section, 每个 section 有自己的 opt ...

  6. 在IDEA 中用maven创建web项目

    安装Maven 下载安装 去maven官网下载最新版. 解压到安装目录. 配置 右键桌面的计算机图标,属性–>高级系统设置–>环境变量,添加M2_HOME的环境变量,然后将该变量加入的PA ...

  7. java飞机大战之子弹的自动生成

    import java.awt.Graphics; import java.util.ArrayList; import javax.swing.JFrame; import javax.swing. ...

  8. android手机分辨率的一些说明

    Android上常见度量单位 px(像素):屏幕上的点,绝对长度,与硬件相关 in(英寸):长度单位 mm(毫米):长度单位 pt(磅):1/72英寸,point dp(与密度无关的像素):一种基于屏 ...

  9. 获取百度搜索结果的真实url以及摘要和时间

    利用requests库和bs4实现,demo如下: #coding:utf- import requests from bs4 import BeautifulSoup import bs4 impo ...

  10. 【安装关键】webStorm-201703版本

    在激活页面选择License Server,输入:http://idea.codebeta.cn,点击Activate即可激活.