首页 > TAG信息列表 > SDOI2017

[SDOI2017]硬币游戏

Description 周末同学们非常无聊,有人提议,咱们扔硬币玩吧,谁扔的硬币正面次数多谁胜利。 大家纷纷觉得这个游戏非常符合同学们的特色,但只是扔硬币实在是太单调了。 同学们觉得要加强趣味性,所以要找一个同学扔很多很多次硬币,其他同学记录下正反面情况。 用\(H\)表示正面朝上, 用\(T\)

[SDOI2017]苹果树

此题爆肝一个晚上的菜鸡,呜呜呜 题意:luogu P3780 一棵树,每个点都有全值和取它次数的上限。h为你所取的最大深度(根为1),c为你取的个数,满足c-h<=k(k题目给出) 思路: 相当于免费取一条链(尽量长肯定到叶子),然后我么可以想到枚举这条链。 除了链上的点之外的其它点都要满足父子关系。 我

#矩阵乘法#洛谷 3702 [SDOI2017]序列计数

题目链接 分析 考虑容斥,用总方案减去全是合数的方案数, 可以发现 \(n\) 很大,\(p\) 很小,直接用矩阵乘法转移即可 代码 #include <cstdio> #include <cctype> #include <algorithm> #define rr register using namespace std; const int mod=20170408; bool v[mod]; struct maix{in

[做题记录-乱做] Luogu3783 [SDOI2017]天才黑客

边转点,然后前缀优化。 清空的时候要清空倍增数组! /* QiuQiu /qq ____ _ _ __ / __ \ (_) | | / / | | | | _ _ _ | | _ _ / / __ _ __ _ | | | | | | | | |

[做题记录-乱做]Luogu 3780 [SDOI2017]苹果树

首先一个很聚的转化是把\(t - h \leq k\)转化为先在一条链上不带代价地选择一个, 然后有代价地进行一堆树的dp。 根据贪心的性质, 这个链肯定到底。然后你再去搞出度的dfs序, 也就是出来的时候记录一个点。那么树dp可以转化到这个序列上的一个dp。 具体来说, 转移是\(dp_{i, j} = \max

P3780 [SDOI2017]苹果树

P3780 [SDOI2017]苹果树 题目大意: 给定一个有根树,每个节点有权值 \(v_i\),节点值至多取 \(a_i\) 次,选儿子节点一定要同时选父亲节点一次,取 \(k\) 个节点值。 除此之外,还可以取一条最长链,求最大权值。 思路: 拿到这道题,先转化成理解的形式:树上背包 \(dp\) +一堆不知道什么东西。 —

[SDOI2017]数字表格 & [MtOI2019]幽灵乐团

P3704 [SDOI2017]数字表格 首先根据题意写出答案的表达式 \[\large\prod_{i=1}^n\prod_{j=1}^mf_{\gcd(i,j)} \]按常规套路改为枚举 \(d=\gcd(i,j)\) (不妨设 \(n\le m\) ) \[\large\prod_{d=1}^n{f_d}^{\sum_{i=1}^n\sum_{j=1}^m~[(i,j)=d]} \]指数上的式子很熟悉了,单独拿出来推一

P3706 [SDOI2017]硬币游戏

【题意】 给定n个小朋友每个人有一个01串,游戏规则如下,每次在一个生成的串的末尾随机生成0/1,当出现了某个小朋友手里的串的时候游戏结束,该小朋友获胜,求每个小朋友获胜的概率是多少 【分析】 这道题目其实就是P6125 [JSOI2009]有趣的游戏的加强版 考虑有趣的游戏这道题的方式为AC自

[SDOI2017]序列计数

嘟嘟嘟 这题有那么难????提供一个吊打std的做法 直接令\(dp[i][j][0/1]\)表示前\(i\)个数的和模\(p\)为\(j\),且这\(i\)个数中没有/有质数的方案数。 先想一下暴力,枚举第\(i\)个数是哪一个,然后根据这个数是否是质数转移即可。复杂度\(O(nmp)\)。 优化: 发现\(n \leqslant 10 ^ 9\),就能

[SDOI2017]数字表格

感觉做多了\(DS\)和树图问题,数论水平已经低到小学生水平了。 现在甚至连数论分块都快忘了,昨天看\(dl\ LCT\)博客的时候看到了这题,所以来复健一下。 考虑就是求这样一个东西 \(\prod_{i = 1}^{n}\prod_{j = 1}^{m}f_{gcd(i,j)}\) 考虑斐波那契数列好像在这个题中没有一些好的性质,那

P3703 [SDOI2017]树点涂色

P3703 [SDOI2017]树点涂色(LCT+线段树) 首先线段树区间染色,然后对于操作 1 很像 LCT 的 Access 操作,于是可以考虑 LCT 。 然后用线段树来维护 LCT 的信息即可。 当然也可以直接大力树剖,两个时间复杂度都是 \(O(nlog^2n)\) 。

P3704 [SDOI2017]数字表格

题目描述 洛谷 Doris 用老师的超级计算机生成了一个 \(n\times m\) 的表格, 第 \(i\) 行第 \(j\) 列的格子中的数是 \(f_{\gcd(i,j)}\),其中 \(\gcd(i,j)\) 表示 \(i,j\) 的最大公约数。 Doris 的表格中共有 \(n\times m\) 个数,她想知道这些数的乘积是多少。 答案对 \(10^9+7\) 取模

P3704 [SDOI2017]数字表格

洛谷链接 题意:求\(\prod_{i=1}^n\prod_{j=1}^mf(gcd(i,j))\%(1e9+7),f(i)表示斐波那契数列,其中f(0)=0,f(1)=1\) 开始化简: \(\prod_{i=1}^n\prod_{j=1}^mf(gcd(i,j))=\) \(\prod_{d=1}^nf(d)^{\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)==d]}\) 对于幂上的式子 \(\sum_{i=1}^n\sum_{j=1}^m

P3702 [SDOI2017]序列计数 (三模数NTT)

题意: Alice想要得到一个长度为$n$的序列,序列中的数都是不超过$m$的正整数,而且这$n$个数的和是$n$的倍数。 Alice还希望,这$n$个数中,至少有一个数是质数。 Alice想知道,有多少个序列满足她的要求。 思路:利用容斥原理,这个题目其实就是  在集合S(1~m)中选n个数的和模p为0的方案数-在

[SDOI2017]相关分析 题解

题意 给定两个数组$x, y$,有三种操作 给定$l, r$,令$\overline x = \frac{1}{r - l + 1}\sum_{i = l}^r x_i,\overline y= \frac{1}{r - l + 1}\sum_{i = l}^r y_i$,即该数组$[l,r]$间数的平均数,求$$\frac{\sum_{i=l}^r(x_i-\overline x)(y_i-\overline y)}{\sum_{i=l}^r (x_i-\over

要做的题

省选: [HNOI2015]开店 [HNOI2015]接水果 [HNOI2015]亚瑟王 [HNOI2015]实验比较 其实这题也是个套路。 先把所有被等号连接的变量缩成一个点。 题目中说明了\(M<=n\),所以如果把一个点向强制比它大的点连边则形成了基环内向森林。 其中,有环的连通块一定无解,可以使用拓扑排序判定。 判

【BZOJ4821】[SDOI2017] 相关分析(线段树)

点此看题面 大致题意: 给定\(x,y\)两个数组,每次给定\(L,R\),要求支持三种操作:设\(\overline{x}\)为\(x_{L\sim R}\)的平均数,\(\overline{y}\)为\(y_{L\sim R}\)的平均数,求\(\frac{\sum_{i=L}^R(x_i-\overline{x})(y_i-\overline{y})}{\sum_{i=L}^R(x_i-\overline{x})^2}\);把区间内所

树点涂色[SDOI2017]

【题目描述】 Bob 有一棵 \(n\) 个点的有根树,其中 \(1\) 号点是根节点。Bob 在每个点上涂了颜色,并且每个点上的颜色不同。 定义一条路径的权值是:这条路径上的点(包括起点和终点)共有多少种不同的颜色。 Bob可能会进行这几种操作: 1 x 表示把点 \(x\) 到根节点的路径上所有的点染上一

[题解] LuoguP3702 [SDOI2017]序列计数

https://www.luogu.com.cn/problem/P3702 稍微有点套路...... 先不管那个质数的条件 考虑\(DP\),令\(f_{i,j}\)表示\(i\)个数和\(\%p\)为\(j\)的方案数。 有转移 \[f_{i,c}=\sum\limits_{(a+b) \% p = c} f_{i-1,a}f_{i-1,b} \]但这样转移\(i\)就有\(10^9\)个... 注意到如果我们没

[SDOI2017]新生舞会 题解

  首先是题目链接: luogu:https://www.luogu.com.cn/problem/P3705 loj:https://loj.ac/problem/2003 bzoj:http://www.lydsy.com/JudgeOnline/problem.php?id=4819 发现题目要求 最大化 稍作变形得 于是容易想到二分答案,并将第个男生和第个女生连一条权值为的边,用KM算法进行带权二

SDOI2017相关分析

一道线段树水题 注意别被卡精度(无时无刻都要想着强制转换double) 居然写了\(100min\),我太弱了!!! #include<bits/stdc++.h> using namespace std; inline int read(){ int x=0,f=1;char c=getchar(); while(!isdigit(c)){if(c=='-')f=-1;c=getchar();} while(isdigit(c))

SDOI2017数字表格

题意:求\(\prod^n_{i=1}\prod^m_{j=1}fib[gcd(i,j)],fib[1]=fib[2]=1\) \(T\)组数组\(n,m\in[1,1e6],T\in[1,1e3]\) SOL: 易得\(ans=\prod^n_{g=1}fib(g)^{S(n/g,m/g)}\) \(S(n,m)=\sum^n_{i=1}\sum^m_{j=1}[gcd(i,j)]==1=\sum^n_{d=1}\mu(d)(n/d)(m/d)\) 默认\(n&l

BZOJ 4820: [Sdoi2017]硬币游戏

好仙的题目啊,本来是KMP里的题但最后该用的地方被我用Hash艹过去了算了反正这不是这道题的重点 考虑一个暴力的想法,我们把所有串扔进一个AC自动机里,然后在fail树上跑DP,假设\(f_x\)表示节点\(x\)表示的状态出现的概率为\(x\),那么有: \[f_{ch_{x,i}}=\sum_{i=0}^1 \frac{1}{2}\times f

[SDOI2017]天才黑客

一、题目 点此看题 二、解法 真的毒瘤,我 TM 搞了三个小时,调起来太 TM 爽了。 言归正传,这道题很容易想到一个最短路解法,我们把每条边拆成两个点,它们之间的边权值都是原来的边权,然后对于每个点(原图),我们把入点和出点暴力连边,边权为lcplcplcp(字典树上lcalcalca的深度−1-1−1),这

@loj - 2004@ 「SDOI2017」硬币游戏

目录 @description@ @solution@ @accepted code@ @details@ @description@ 周末同学们非常无聊,有人提议,咱们扔硬币玩吧,谁扔的硬币正面次数多谁胜利。 大家纷纷觉得这个游戏非常符合同学们的特色,但只是扔硬币实在是太单调了。 同学们觉得要加强趣味性,所以要找一个同学扔很多