ICode9

精准搜索请尝试: 精确搜索
  • NOI2015做题笔记2019-05-04 15:43:22

    程序自动分析(并查集) NOI出这种题我还有什么好说的呢…… 拆点并查集即可。 代码 软件包管理器(树链剖分、线段树) 一个支持区间赋值和区间和的线段树+树链剖分即可 代码 寿司晚宴(数论、状压DP) 数论题\(n \leq 500\)肯定是什么暴力算法…… 注意到每一个数\(> \sqrt{n}\)的因子最多只

  • BZOJ4199 NOI2015品酒大会(后缀树)2019-05-04 13:45:26

      利用SAM建出后缀树,树上每个节点计算一下|right|、right集合中ai的最大、次大、最小、次小值即可。 #include<iostream> #include<cstdio>#include<cmath>#include<cstdlib>#include<cstring>#include<algorithm>using namespace std;#define ll long long#define N 600010#

  • [luogu1912][bzoj4196][NOI2015]软件管理器2019-03-03 20:43:49

    题解 树剖模板题,每次改变是\(1\)或者是\(0\),区间求和和区间修改就可了。 ac代码 # include <cstdio> # include <cstring> # include <algorithm> # include <ctype.h> # include <iostream> # include <cmath> # include <map> # include <vector> #

  • 并不对劲的bzoj4197:loj2131:uoj129:p2150:[NOI2015]寿司晚宴2019-02-17 18:43:35

    题目大意 有两个集合\(S_1,S_2 \subseteq [2,n] (n\leq 500)\),且对于\(\forall x\in S_1,y\in S_2 , gcd(x,y)=1\) 求\(S_1,S_2\)有多少种方案 两种方案不同,当且仅当 方案一的\(S_1\)与方案二的\(S_1\)存在一个元素不同 或 方案一的\(S_2\)与方案二的\(S_2\)存在一个元素不同 题解

  • BZOJ 4199: [Noi2015]品酒大会 后缀自动机_逆序更新2019-02-11 14:44:43

    细节........ Code: #include <cstdio> #include <algorithm> #include <cstring> #define setIO(s) freopen(s".in","r",stdin),freopen(s".out","w",stdout) #define maxn 1000006 #define inf -0x3f3f3f3f3f3f3

  • [BZOJ]4198: [Noi2015]荷马史诗2019-02-09 20:49:02

     题解:  提高组系列难度题.....竟然各种假贪心 瞄了网上结论  竟然  n%(k-1)不足1要补齐....orz这个真没想到  涨知识涨知识.... 补齐以后直接类似合并果子 堆贪心就行了 #include <algorithm>#include <iostream>#include <cstring>#include <cstdio>#include <vector>#incl

  • [NOI2015,LuoguP2146]软件包管理器------树剖2019-02-08 21:48:44

    ***题目链接戳我***   又是在树上瞎搞滴题目....   我们如果以安装的软件为1,未安装的软件为0,那么软件改变的数量即树上权值总和的数量,涉及到区间修改,区间查询,考虑树剖   分析完毕,似乎没啥好说的了。。。树剖模板题(然鹅我是不会告诉你们我因为把int打成char查了好久好久代码滴

  • [bzoj4199][Noi2015]品酒大会——后缀数组2019-02-06 19:48:19

    题目大意: 给定一个序列,定义两个后缀是k相似的当且仅当这两个后缀有长度为k的公共前缀。 求对任意\(r\in [0,n-1]\),\(r\)相似的后缀的对数和两个后缀乘积的最大值。 思路: 先考虑后缀数组是如何计算两个后缀的lcp,发现是对于一段连续的height取min。 于是对于制定的相似度r,height < r

  • P1955 [NOI2015]程序自动分析2019-02-04 20:47:27

    Description 给定多个 $ x_i  x_j $ 是否相等的条件 判断能否实现给每个 $  x_ i  $赋上合适的值满足条件 Solution 考虑用并查集实现 若两个数相等,则表示它们的祖先相同 给出的条件要先排序,把所有相同的条件放在前面先处理 数的范围很大,并查集数组开不下,需要离散化一下 Co

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有