题目描述 CX在Minecraft里建造了一个刷怪塔来杀僵尸.刷怪塔的是一个极高极高的空中浮塔,边缘是瀑布.如果僵尸被冲入瀑布中,就会掉下浮塔摔死.浮塔每天只能工作 $t$秒,刷怪笼只能生成 $N$ 只僵尸,这些僵尸在一开始就全部生成,位于瀑布上.由于CX是拿着手机搭的浮塔,难免有些建筑方面的缺陷,导致不是所有僵尸都会被冲下去.详细地说,在这 $t$秒内,每秒冲下一只僵尸(如果有的话)的概率为 $P$ ,这只僵尸一秒内没有被冲下的概率为$1-P$. CX想知道他一天内杀死的僵尸的期望数量. 输入…
「SDOI2016」征途 先浅浅复制一个方差 显然dp,可以搞一个 \(dp[i][j]\)为前i段路程j天到达的最小方差 开始暴力转移 \(dp[i][j]=min(dp[k][j-1]+?)(j-1\leq k\leq i-1)\)这咋写?还是需要转换一下 开始了,but题目的方差还需要m^2,很好 以下x为m天行走的平均值,s[i]为1~i段路的总路程 那么x可以算对吧:\(x=\frac{s[n]}{m}\) \[m\times \sum^m_{i=1}(x_i-x)^2\\ =m\ti…
来源 LCA 个人评价:lca求路径,让我发现了自己不会算树的直径(但是本人似乎没有用lca求) 1 题面 「APIO2010」巡逻 大意:有一个有n个节点的树,每条边权为1,一每天要从1号点开始,遍历所有的边,再回到1号点,每条道路都经过两次,为了减少需要走的距离,可以增加K\((1\leq K\leq 2)\)条新的边(可以自环),且每天必须经过这K条边正好一次,请计算最佳方案是总路程最小,并输出最小值 2 分析题面 因为K很小,所以我们可以试着手推一下每种情况 2.1 不加边 从1号点出发…
要点: 1.期望的套路,要求n以上的期望,则设dp[i]为i分距离终点的期望步数,则终点dp值为0,答案是dp[0]. 2.此题主要在于数学推导,一方面是要写出dp[i] = 什么,虽然一大串但是思维上并不难:然后就是一种解方程的方法,因为都跟dp[0]有关,且dp[0]是个确定的常数,所以设dp[i] = A[i] * dp[0] + B[i],带入上面那一串解出A[i].B[i],发现是个递推式,于是递推求出A[i]B[i]即可得到dp[0] = B[0] / (1 - A[0]).推荐邝斌…
非常好的递推 公式啥的懒得写了,直接放链接哈哈哈https://www.luogu.org/problemnew/solution/P1291 #include<bits/stdc++.h> #define rep(i,x,y) for(register int i=x;i<=y;i++) #define dec(i,x,y) for(register int i=x;i>=y;i--) #define int long long #define In freopen("…
前言:抽时间做了做这道题,把学长送退役的题. ----------------- 题目链接 题目大意:定义$()$是合法括号串.如果$A,B$是合法括号串,那么$(AB),AB$为合法括号串.现给定根节点为$1$的一棵树,每个节点有一个括号.定义$s_i$是从根节点到$i$结点的括号串,$k_i$是$s_i$的合法子串,求$1*k_1 \ xor \ 2*k_2 \ xor \cdots \ n*k_n$. 这道题其实实现起来并不难,重要的是思维.我也是想了快一个小时才推出来式子QAQ. 可以发…
题目链接 题目大意:求$1-n$所拼接起来的数$mod\ m$的值. ----------------------------------- 递推式子很好想:$f_i=f_{i-1}*10^{\lg i+1}+i$ 看到数据范围,肯定不能$O(n)$递推.考虑矩阵加速. 转移矩阵为: $\begin{pmatrix}10^k&0&0\\1&1&0\\1&1&1\end{pmatrix}$ 因为$10^k$是不确定的,所以我们要根据范围来分情况作乘法.详见代码…
题面 传送门 题解 我的线代学得跟屎一样看题解跟看天书一样所以不要指望这题我会写题解 这里 //minamoto #include<bits/stdc++.h> #define R register #define fp(i,a,b) for(R int i=a,I=b+1;i<I;++i) #define fd(i,a,b) for(R int i=a,I=b-1;i>I;--i) #define go(u) for(int i=head[u],v=e[i].v;i;i=e[i]…
Content 某个人去参加比赛,\(n\) 个评委分别给他打分 \(a_1,a_2,\dots,a_n\).这个人可以最多执行 \(m\) 次操作,每次操作将一个评委的分数加 \(1\).定义他的最终分数为去掉一个最高分和一个最低分后的剩余得分的总和.求可能最高的最终分数. 数据范围:\(3\leqslant n\leqslant 10^5\),\(0\leqslant m,a_i\leqslant 10^9\). Solution 本题解我们来分 Subtask 来讲解. Subtask 1…
Content 有一个 \(n\times m\) 的网格,网格上的格子被涂成了白色或者黑色. 设两个点 \((x_1,y_1)\) 和 \((x_2,y_2)\),如果以下三个条件均满足: \(1\leqslant x_1<x_2\leqslant n\) 且 \(1\leqslant y_1<y_2\leqslant m\). \(2\mid (x_1+x_2)\). \((x_1,y_1)\rightarrow(x_2,y_1)\),\((x_1,y_2)\rightarrow(x_2,…