NOI2015 Day1

程序自动分析

题目描述:给出等式或不等式\(n\)条,问\(n\)条式子是否成立。

solution
用并查集处理等式,在判断不等式是否成立。

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

软件包管理器

题目描述:维护一棵树,支持两种操作:
1、询问点到根的点权和,并将路径上的点的权值修改为1
2、询问点的子树的点权和,并将子树的点的权值修改为0

solution
树链剖分可以很好的解决第一种操作,那第二种操作也可以用树链剖分吗?
可以,先求出重儿子,然后用\(dfs\)建线段树,\(dfs\)时先\(dfs\)重儿子,再\(dfs\)其他儿子,这样既能保证重链在线段树上是连续的,每棵子树在线段树上也是连续的。

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

寿司晚宴

题目描述:设正整数集合$A,B, A \cap B = Ø \(,使\)\forall x \in A, \forall y \in B,\(有\)x \in [2, n], y \in [2, n], (x, y)=1\(,给定\)n\(,求集合\)A,B\(对的方案数。\)A,B\(可以为\)Ø$

solution
\(n \leq 500, \sqrt{n} < 23\),小于\(\sqrt{n}\)的质数只有8个(暂且称为小质数,其它质数称为大质数),所以可以用二进制来表示每个数拥有的小质数因子集合。每个数最多只会有一个大质数因子(大质数 $ >\sqrt{n} \(),所以比较好处理。设状态\)f[i][j][k]\(,表示做完第\)i\(个大质数,\)A\(拥有小质数集为\)j\(,\)B\(拥有小质数集为\)k\($(j \& k=0)\) 的方案数。\(f[0]\)表示没有大质数,所以直接对没有大质数因子的数dp就好了。对于有大质数因子,枚举具有该因子的数\(p\),\(p\)拥有的小质数因子集为\(z\) 转移方程如下:

$ f[i][j][k]=d[j][k][0]+d[j][k][1]+f[i-1][j][k] $

$ d[j | z][k][0]=d[j][k][0]+f[i-1][j][k] $

$ d[j][k | z][1]=d[j][k][1]+f[i-1][j][k] $

先解释第二、三条方程,对于\(d[j][k][q]\),\(A\)拥有小质数集为\(j\),\(B\)拥有小质数集为\(k\)的方案数,当\(q=0\)时表示将\(p\)放入\(A\),当\(q=1\)时表示将\(p\)放入\(B\). 其实就是对拥有该大质数因子的数进行dp。然后将dp的结果用一个总的\(f[i][j][k]\)进行dp(前i个大质数因子的dp

时间复杂度:\(O(2^{16}n)\)

NOI2015 Day1的更多相关文章

  1. 2015.7.17( NOI2015 day1 )

    今天早起做了NOI2015网络同步赛.... 最近NOI是越来越向NOIP靠拢了....但是我还是不会做..... 第一题:程序自动分析 先离散化一下..然后最多就剩20w个数 , 不等于就存起来.. ...

  2. noi2015 day1 T2软件包管理器

    noi2015 软件包管理器 Description Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软 ...

  3. noi往届题目泛做

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

  4. noi2015的回忆和教训

    前几天偶然打开了bzoj的rank list,突然发现——我竟然掉出了第一版!!! 自从我5月还是6月刷进第一版之后,我曾经天真的以为大概半年之内我还能保留在第一版内吧. 结果仅仅短短的4个月,我就已 ...

  5. NOI2015考试小结

    这次NOI2015有幸获得金牌考进了国家集训队,意味着我的OI退役时间既省选之后有延迟了好几个月,又有了新的目标吧. 先说一下考试之外的感受吧,学军宿舍很牛X,接待NOIers而不提供插座,唯一可以用 ...

  6. NOI2015滚粗记

    我的第一次也是最后一次NOI 好像写的晚了许多……可能一谈到退役总会有些伤感,并不愿去面对…… 一路走来已有5年,虽然我总在说“其实我好好学的时间只有半年”,但那也不过是给自己是蒟蒻找的借口吧...一 ...

  7. BZOJ 4199: [Noi2015]品酒大会 [后缀数组 带权并查集]

    4199: [Noi2015]品酒大会 UOJ:http://uoj.ac/problem/131 一年一度的“幻影阁夏日品酒大会”隆重开幕了.大会包含品尝和趣味挑战两个环节,分别向优胜者颁发“首席品 ...

  8. BZOJ 4196: [Noi2015]软件包管理器 [树链剖分 DFS序]

    4196: [Noi2015]软件包管理器 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 1352  Solved: 780[Submit][Stat ...

  9. NOIp2016 Day1&Day2 解题报告

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

随机推荐

  1. Django模板-模板标签

    接着Django模板-基础知识继续写模板相关知识. if标签 {% if %} 标签接受 and , or 或者 not 关键字来对多个变量做判断 ,或者对变量取反( not ). 但是不允许在同一个 ...

  2. MySQL表结构同步工具 mysql-schema-sync

    mysql-schema-sync 是一款使用go开发的.跨平台的.绿色无依赖的 MySQL 表结构自动同步工具.用于将线上(其他环境)数据库结构变化同步到测试(本地)环境! 可以解决多人开发,每人都 ...

  3. Canvas、Paint、的简单使用及辅助类(Path、Shader、简介)

    1.Canvas类 作用:1.绘制各种图形.图片.字等.2.提供各种方法进行坐标变换(rotate.scale.skew.translate) 获取Canvas:一般是子类继承View并重写onDra ...

  4. div 居中CSS实现

    .login-box { position: absolute; border: solid #E3EAE7 1px; top: 50%; left: 50%; margin: -100px 0 0 ...

  5. block,inline,inline-block

    block元素的特点是: 总是在新行上开始: 高度,行高以及顶和底边距都可控制: 宽度缺省是它的容器的100%,除非设定一个宽度 <div>, <p>, <h1>, ...

  6. Oracle EBS-SQL (BOM-9):检查系统BOM总数.sql

    SELECT      ITM.SEGMENT1                         物料编码     ,ITM.DESCRIPTION                     物料描述  ...

  7. android 自定义AlertDialog

    xml: alter_dialog_two <?xml version="1.0" encoding="utf-8"?> <LinearLay ...

  8. 关于“找不到附属汇编 Microsoft.VC90.CRT,上一个错误是 参照的汇编没有安装在系统上。”的解决

    关于“找不到附属汇编 Microsoft.VC90.CRT,上一个错误是 参照的汇编没有安装在系统上.”的解决 一个项目需要在Win系统用计划任务执行PHP,写了个批处理bat利用php-cgi.ex ...

  9. 利用margin代替小图标的绝对定位;使代码更简洁

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

  10. How to use pagination in Magento

    classYour_Module_Block_Entityname_ListextendsMage_Core_Block_Template { protected function _construc ...