NOI2014 Day1
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的更多相关文章
- noi往届题目泛做
noi2015 Day1 t1 程序自动分析 离散化+并查集 t2 软件包管理器 裸树链剖分 t3 寿司晚宴 状压dp Day2 t1 荷马史诗 哈夫曼多叉树 t2 品酒大会 后缀数组按照hei ...
- NOI2014 部分题解
感觉NOI2014的一些题目也是比较好做的... 但是笔者往往有思路却没有想清楚就开始搞了...这样还是不太好.. Day1 T1 起床困难综合征 (我感觉这题应该叫综合征不是综合症...) a ...
- NOIp2016 Day1&Day2 解题报告
Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...
- day1
day1.py ][][: ][: ): : ]['lock'] = 0 json.dump(userlist_message, open(userlist, 'w')) break #输错次数到3次 ...
- day1作业--登录入口
作业概述: 编写一个登录入口,实现如下功能: (1)输入用户名和密码 (2)认证成功后显示欢迎信息 (3)输错三次后锁定 流程图: readme: 1.程序配置文件: 黑名单文件blacklist.t ...
- luogu1003铺地毯[noip2011 提高组 Day1 T1]
题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n .现在将这些地毯按照编号从小到大的顺序平行于 ...
- Python学习路程day1
变量起名: 变量名如果太长,推荐使用下划线来分开,让人看得清晰明白.例:nums_of_alex_girl=19 .或者是驼峰写法,即首字母大写.例:NumOfAlexGf=18 注意:不合法的变量起 ...
- 团队项目——站立会议 DAY1
团队项目--站立会议 DAY1 团队成员介绍(5人):张靖颜.何玥.钟灵毓秀.赵莹.王梓萱 今日(2016/5/6)为站立会议的第一天,一起对团队项目进行讨论,并对每个人的 ...
- Day1 login
使用流程: 1.程序启动后,显示欢迎信息,提示用户输入用户名: 2.判断用户是否存在,不存在则提示重新输入,或者关闭程序:客户存在则提示客户输入密码: 3.判断密码是否正确,如果不正确则提示用户重新输 ...
随机推荐
- jquery精简选项卡
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8&qu ...
- Bootstrap之Button.js
查看Button.js的源代码 +function ($) { 'use strict'; // BUTTON PUBLIC CLASS DEFINITION // ================= ...
- Eclipse配色插件
1.打开Help -- Eclipse Marketplace 2.搜索Eclipse Color Theme,点击Install 3.安装完成后点击Window -- Preference -- A ...
- Google机器学习教程心得(三) 好的feature
什么造就好的Feature Google Machine Learning Recipes 3 官方中文博客 http://chinagdg.org/2016/03/machine-learning- ...
- sudo apt-get update
要用apt-get这种方式安装LAMP时,最好先运行下面在命令升级自己的系统这样是为了更新源,而如果你找的源不好,可能安装LMAP失败.#sudo apt-get update 获得最近的软件包的列表 ...
- yum 安装 5.6
http://www.cnblogs.com/XBlack/p/5178758.html
- W5300E01-ARM 交叉编译器(Cross Compiler)用户手册
W5300E01-ARM是基于W5300的ARM功能测试评估板: 1 简介 当用户的开发环境与目标系统不同时就会用到交叉编译器. 例如,当开发基于ARM的嵌入式系统时,用户就需要在电脑上写出 ...
- 如何用ATL创建ActiveX控件
演示截图: 代码简介或代码解析: 如何用ATL创建ActiveX控件 实现了一个ActiveX控件,它在一个圆内部有个正多边形,当用户在多变形内部单击将会使多边形的边数在当前的基础上+1,在多变形外部 ...
- java应用程序远程登录linux并执行其命令(ssh jar包)
http://www.ganymed.ethz.ch/ssh2/在这个网址下载一个调用ssh和scp命令的jar包. 然后,就可以写程序了.将上面的jar包导入MyEclipse,下面是一个类的实例代 ...
- 收敛 p75
三种收敛.中心极限定理.大数定理.delta方法