NOI2014 Day1

起床困难综合症

题目描述:给出\(n\)个操作,每个操作包含一种运算\((XOR、OR、AND)\)和一个数,已知一开始的数字为\([0, m]\),问经过\(n\)次操作后最大为多少

solution
按二进制位从高位开始枚举,能算出\(1\)的,答案的这一位就为\(1\),否则为\(0\)。

时间复杂度:\(O(30n)\)

魔法森林

题目描述:给出一个包含\(n\)个结点与\(m\)条边的无向图,每条边有两个值\(A、B\),求从\(1\)号点到\(n\)号点经过的边的\(A\)的最大值+\(B\)的最大值最小。

solution
因为路径的值由组成的边的最大值来衡量,所以应该用最小生成树的做法。按照\(A\)为关键字把边从小到大排序,枚举第\(i\)条边,加入图中维护最小生成树(以\(B\)为权值的最小生成树,用Link-cut-tree维护),询问\(1\)号点到\(n\)号点的最大值的最小(\(B\)),加上当前第\(i\)条边的\(A\)更新答案。
这里需要理解一下为什么直接加第\(i\)条边的\(A\),因为如果经过了第\(i\)条边,因为边按\(A\)从小到大排序了,所以第\(i\)条边一定是图中的最大值,如果不经过第\(i\)条边,算出来的值也不能更新答案,所以这样做是正确的。

时间复杂度:\(O(mlogm)\)

NOI2014 Day1的更多相关文章

  1. noi往届题目泛做

    noi2015 Day1 t1 程序自动分析  离散化+并查集 t2 软件包管理器  裸树链剖分 t3 寿司晚宴  状压dp Day2 t1 荷马史诗 哈夫曼多叉树 t2 品酒大会 后缀数组按照hei ...

  2. NOI2014 部分题解

    感觉NOI2014的一些题目也是比较好做的... 但是笔者往往有思路却没有想清楚就开始搞了...这样还是不太好.. Day1 T1 起床困难综合征  (我感觉这题应该叫综合征不是综合症...)   a ...

  3. NOIp2016 Day1&Day2 解题报告

    Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...

  4. day1

    day1.py ][][: ][: ): : ]['lock'] = 0 json.dump(userlist_message, open(userlist, 'w')) break #输错次数到3次 ...

  5. day1作业--登录入口

    作业概述: 编写一个登录入口,实现如下功能: (1)输入用户名和密码 (2)认证成功后显示欢迎信息 (3)输错三次后锁定 流程图: readme: 1.程序配置文件: 黑名单文件blacklist.t ...

  6. luogu1003铺地毯[noip2011 提高组 Day1 T1]

    题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n .现在将这些地毯按照编号从小到大的顺序平行于 ...

  7. Python学习路程day1

    变量起名: 变量名如果太长,推荐使用下划线来分开,让人看得清晰明白.例:nums_of_alex_girl=19 .或者是驼峰写法,即首字母大写.例:NumOfAlexGf=18 注意:不合法的变量起 ...

  8. 团队项目——站立会议 DAY1

    团队项目--站立会议 DAY1        团队成员介绍(5人):张靖颜.何玥.钟灵毓秀.赵莹.王梓萱        今日(2016/5/6)为站立会议的第一天,一起对团队项目进行讨论,并对每个人的 ...

  9. Day1 login

    使用流程: 1.程序启动后,显示欢迎信息,提示用户输入用户名: 2.判断用户是否存在,不存在则提示重新输入,或者关闭程序:客户存在则提示客户输入密码: 3.判断密码是否正确,如果不正确则提示用户重新输 ...

随机推荐

  1. jquery精简选项卡

    <!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8&qu ...

  2. Bootstrap之Button.js

    查看Button.js的源代码 +function ($) { 'use strict'; // BUTTON PUBLIC CLASS DEFINITION // ================= ...

  3. Eclipse配色插件

    1.打开Help -- Eclipse Marketplace 2.搜索Eclipse Color Theme,点击Install 3.安装完成后点击Window -- Preference -- A ...

  4. Google机器学习教程心得(三) 好的feature

    什么造就好的Feature Google Machine Learning Recipes 3 官方中文博客 http://chinagdg.org/2016/03/machine-learning- ...

  5. sudo apt-get update

    要用apt-get这种方式安装LAMP时,最好先运行下面在命令升级自己的系统这样是为了更新源,而如果你找的源不好,可能安装LMAP失败.#sudo apt-get update 获得最近的软件包的列表 ...

  6. yum 安装 5.6

    http://www.cnblogs.com/XBlack/p/5178758.html

  7. W5300E01-ARM 交叉编译器(Cross Compiler)用户手册

    W5300E01-ARM是基于W5300的ARM功能测试评估板: 1      简介 当用户的开发环境与目标系统不同时就会用到交叉编译器. 例如,当开发基于ARM的嵌入式系统时,用户就需要在电脑上写出 ...

  8. 如何用ATL创建ActiveX控件

    演示截图: 代码简介或代码解析: 如何用ATL创建ActiveX控件 实现了一个ActiveX控件,它在一个圆内部有个正多边形,当用户在多变形内部单击将会使多边形的边数在当前的基础上+1,在多变形外部 ...

  9. java应用程序远程登录linux并执行其命令(ssh jar包)

    http://www.ganymed.ethz.ch/ssh2/在这个网址下载一个调用ssh和scp命令的jar包. 然后,就可以写程序了.将上面的jar包导入MyEclipse,下面是一个类的实例代 ...

  10. 收敛 p75

    三种收敛.中心极限定理.大数定理.delta方法