首页 > TAG信息列表 > SDOI2013
SDOI2013 项链
首先我们可以求出来满足条件的珠子的总数 \(m\)。有以下结论: 对于一个大小为 \(n\) 的环,用 \(m\) 种颜色给它染色,要求环上相邻两个点的颜色不同,那么方案数为:\((m-1)^n+(-1)^{n}(m-1)\)。 我是硬推出来这个式子的2333 具体来说,设 \(f(n)\) 表示大小为 \(n\) 的环的答案,考虑容斥:【题解】[SDOI2013]费用流
[SDOI2013]费用流 题目传送门 洛谷P3305 [SDOI2013]费用流 题目描述 Alice和Bob在图论课程上学习了最大流和最小费用最大流的相关知识。 最大流问题:给定一张有向图表示运输网络,一个源点S和一个汇点T,每条边都有最大流量。 一个合法的网络流方案必须满足: (1)每条边的实际流量都不[SDOI2013] 淘金(数位dp+堆)
description \(f(x)\)表示\(x\)的各个数位的乘积。 给\(N*N\)的矩阵每个矩阵上都有一块金子,一次变化后,金子从\((i,j)\)变到\((f(i),f(j))\)。 问一次变化后矩阵上金子个数前\(k\)大的和为多少。 \(N<=10^{12}\) solution 首先发现题目最终要的性质,\(N\)虽然很大,但\(f(x)\)一共只[SDOI2013]方程
description 给定方程\(x_1+x_2+...+x_n=m\)和\(n_1\),\(n_2\) 对于\(i\in [1,n_1]\): \(x_i\le a_i\) 对于\(i\in [n_1+1,n_1+n_2]\):\(x_i\ge a_i\) 问正整数结的个数且\(p<=437367875\)(不一定是质数), \(n,m<=10^9\), \(n_1,n_2<=8\) solution 首先这种解的个数常见插板法套路了。[SDOI2013] 森林(主席树+启发式合并)
传送门 description 给一个森林,每个点有权值。在线(每次每个变量xor lastans) 操作如下: Q x y k:查询x到y的路径上第k小的权值(保证x到y至少k个点) L x y:将x和y连边。 solution 从Q和L分别可以猜测需要用到主席树和lct。 主席树是我一直不太熟的数据结构,作用可以维护一段历史版【题解】Luogu-P3301 [SDOI2013]方程
P3301 [SDOI2013]方程 Description 给定方程及不等式组 \[\begin{cases} x_1+x_2+\cdots+x_n=m\\ \\ x_1\le a_1\\ x_2\le a_2\\ \cdots\\ x_{n1}\le a_{n1}\\ \\ x_{n1+1}\ge a_{n1+1}\\ x_{n1+2}\ge a_{n1+2}\\ \cdots\\ x_{n1+n2}\ge a_{n1+n2} \end{[SDOI2013]方程
\(\geq x\)的条件直接减掉。 \(\leq x\)的容斥。 \(exlucas\)。 #include<iostream> #include<cstdio> #define ll long long void exgcd(ll a,ll b,ll &x,ll &y){ if (!b) return (void)(x=1,y=0); exgcd(b,a%b,x,y); ll tmp=x;x=y;y=tmp-a/b*yluogu P3296 [SDOI2013]刺客信条
题面传送门 首先肯定要找到任意一个在所有形态树中都一样的点,那么肯定找到重心。 然后找到中心以后设\(dp_{i,j}\)为\(i\)与\(j\)子树的最小答案。 然后对于这两个点的子树KM一下就可以得到答案了再加上自己。 时间复杂度\(O(11n^2)\) code: #include<bits/stdc++.h> #define I inBZOJ3122: [Sdoi2013]随机数生成器(BSGS)
题意 题目链接 Sol 这题也比较休闲。 直接把\(X_{i+1} = (aX_i + b) \pmod P\)展开,推到最后会得到这么个玩意儿 \[a^{i-1} (x_1 + \frac{b}{a-1}) - \frac{b}{a-1} \equiv T \pmod P \] 然后再合并一下就可以大力BSGS了。 有些细节需要特判一下 #include<bits/stdc++.h> #definP3302 [SDOI2013]森林
P3302 [SDOI2013]森林 P3302 [SDOI2013]森林 这道题加强版,多了连边的操作,强制在线。 考虑在那题的基础上怎么做这个题。 于是我们现在只需要解决操作2,我们发现其实我们维护的本质就是一棵棵主席树,而且这些主席树大小的总量一定。 再加上这道题没有删边,于是我们可以考虑启发式合并P3302 [SDOI2013]森林
题意描述: 洛谷 给你一个 \(n\) 个点 \(m\) 条边的森林,有 \(T\) 次操作,每次操作分为两种类型: 操作1:询问 \(x-y\) 路径上节点权值第 \(k\) 小的是多少。 操作2:连接 \(x-y\) 这一条边,保证连完之后还是森林。 数据范围:强制在线, \(n,m,T\leq 8e4\) solution 先不考虑操作二,只看操作一P3298 [SDOI2013]泉 哈希 容斥
题意: 给定n个元素,每个元素有六个属性,求这n个元素中恰好有k个属性相同的元素对数 范围&性质:\(1\le n \le 10^6,1\le k\le 6\) 分析: 恰好,说明需要容斥,每个元素有多个属性,说明需要哈希判断 好,此题完结 先考虑如何容斥: 按照正常想法,设\(g_i\)表示恰好i个属性相同的元素对数,设\(f_i\)表7.29模拟赛总结
看A想了一会不会。 B是个SB题,然而比较难写。还得分段。 写挂了。。。 C看上去是个神仙题,没有任何思路。 D是个原题,但是上次SDOI2013方程excrt怒写3h获得30分的好成绩,于是不写了。 70分也要excrt。。。。。[SDOI2013]森林(树上主席树)
[SDOI2013]森林(luogu) Description 题目描述 小Z有一片森林,含有N个节点,每个节点上都有一个非负整数作为权值。初始的时候,森林中有M条边。 小Z希望执行T个操作,操作有两类: Q x y k查询点x到点y路径上所有的权值中,第k小的权值是多少。此操作保证点x和点y连通,同时这两个节点的路径上至[SDOI2013]森林(启发式合并)(主席树)
题目描述 小Z有一片森林,含有N个节点,每个节点上都有一个非负整数作为权值。初始的时候,森林中有M条边。 小Z希望执行T个操作,操作有两类: Q x y k查询点x到点y路径上所有的权值中,第k小的权值是多少。此操作保证点x和点y连通,同时这两个节点的路径上至少有k个点。 L x y在点x和点y之间连luoguP3306 [SDOI2013]随机数生成器
题意 将\(x_1,x_2,x_3...x_n\)写出来可以发现通项为\(a^{i-1}*x_1+b*\sum\limits_{j=0}^{i-2}a^j=a^{i-1}*x_1+b*\frac{1-a^{i-1}}{1-a}=(x_1-\frac{b}{1-a})a^{i-1}+\frac{b}{1-a}\) 所求变为求一个\(i\)满足: \(t\equiv (x_1-\frac{b}{1-a})a^{i-1}+\frac{b}{1-a}\pmod{p}\) \(a[SDOI2013]随机数生成器(BSGS)
这题妙啊,我们做这道题遇到的首先一个门槛就是推式子: \[ X_{i+1}=aX_{i}+b \] 我们考虑两边同时加上\(\frac{b}{a-1}\),这样我们就构造出了一个等比数列: \[ X_{i+1}+\frac{b}{a-1}=a(X_i+\frac{b}{a-1})(mod\:p) \] 然后就是简单的等比数列求第\(n\)项: \[ X_{n}+\frac{b}{a-1}=a^{nbzoj3123 [Sdoi2013]森林 树上主席树+启发式合并
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=3123 题解 如果是静态的查询操作,那么就是直接树上主席树的板子。 但是我们现在有了一个连接两棵树的操作。 那么我们就采取启发式合并的方法来暴力重新建主席树。 对于表示树上前缀和的主席树来说,连接两条边以后,会影响到[SDOI2013]泉(搜索+hash+容斥)
题意 给定\(n\)个时间,每个时间有六个权值,求恰好有\(k\)个权值对应相等的时间对的对数 思路 由于权值数量很少,可以枚举哪些权值相等,然后将每个时间的对应权值拿出来hash一遍,就可以得到有多少对时间的这些权值相同 但是这样显然会算重复,比如有四个权值相同的时间对它的三个权值也会P3306 [SDOI2013]随机数生成器
思路:\(BSGS\) 提交:\(1\)次 题解: 原式可以化为\[x_{i+1}+\frac{b}{a-1}=a(x_{i}+\frac{b}{a-1})\mod p\] 这不是等比数列吗? \[x_{n}+\frac{b}{a-1}=a^{n-1}\cdot (x_{1}+\frac{b}{a-1})\mod p\] 所以有 \[a^{n-1}=(x_{1}+\frac{b}{a-1})^{-1}\cdot (x_{n}+\frac{b}{a-1})\mod pSDOI2013 直径(树的直径必经边)
SDOI2013 直径 题目传送 sol: 先求出任一直径同时把直径拎出来,树的非直径部分全部挂在直径上(如下)。 对于直径上的每一个点i,如果存在它到非直径上点的最大距离\(g[i]\)等于它到直径两端点中较短的那一段\(d[i]\), 则说明这一段也可以成为直径中的一部分。 而我们需要得到所有直径的【JZOJ3297】【SDOI2013】逃考
题目大意 给定矩形中的\(n\)个点,矩形中的任意一个位置被离它最近的点控制,给出起点,求走出这个矩形最少被几个点控制过。 \(n \leq 600\) 解析 借用网上这张酷炫的图 可以发现,两个点\(i,j\)的垂直平分线把平面分为两部分,一部分归\(i\)控制,一部分归\(j\)控制,而垂直平分线上的点同时被[半平面交][最短路]JZOJ 3297 【SDOI2013】逃考
Description 高考又来了,对于不认真读书的来讲真不是个好消息。为了小杨能在家里认真读书,他的亲戚决定驻扎在他的家里监督他学习,有爷爷奶奶、外公外婆、大舅、大嫂、阿姨……小杨实在是忍无可忍了,这种生活跟监狱有什么区别!为了他亲爱的小红,为了他的dota,他决定越狱!假设小杨的家是个n[容斥][组合数][暴力]JZOJ 3295 【SDOI2013】泉
Description 济南,中国环渤海地区南翼和黄河中下游地区中心城市,山东省省会,山东省第一大城市,山东省政治、文化、教育中心,华东五大城市之一,区域性金融中心,副省级城市。济南位于山东省中西部,北临黄河,南依泰山。济南分别与西南部的聊城、北部的德州和滨州、东部的淄博、南部的莱芜和泰BZOJ3122: [Sdoi2013]随机数生成器(BSGS)
题意 题目链接 Sol 这题也比较休闲。 直接把\(X_{i+1} = (aX_i + b) \pmod P\)展开,推到最后会得到这么个玩意儿 \[ a^{i-1} (x_1 + \frac{b}{a-1}) - \frac{b}{a-1} \equiv T \pmod P \] 然后再合并一下就可以大力BSGS了。 有些细节需要特判一下 #include<bits/stdc++.h> #define