首页 > TAG信息列表 > Noi2011
[NOI2011] 兔兔与蛋蛋游戏题解
题目描述 这些天,兔兔和蛋蛋喜欢上了一种新的棋类游戏。 这个游戏是在一个 nn 行 mm 列的棋盘上进行的。游戏开始之前,棋盘上有一个格子是空的,其它的格子中都放置了一枚棋子,棋子或者是黑色,或者是白色。 每一局游戏总是兔兔先操作,之后双方轮流操作,具体操作为: 兔兔每次操作时,选Daily Problem Records
2021/6/29 题数:4,码量:8.82kb CF578F Mirror Box 结论 + 图论 + 矩阵树定理 + 并查集 「NOI2011」智能车比赛 计算几何 + dp / 最短路 「NOI2011」兔兔与蛋蛋的游戏 二分图博弈 + 最大匹配 「NOI2011」兔农 循环节 + 数论 + 矩阵乘法 fib 数列模意义下存在纯循环,以 0 1 1洛谷P2052 [NOI2011]道路修建(树形DP)
题目描述 在 W 星球上有 n 个国家。为了各自国家的经济发展,他们决定在各个国家 之间建设双向道路使得国家之间连通。但是每个国家的国王都很吝啬,他们只愿 意修建恰好 n – 1 条双向道路。 每条道路的修建都要付出一定的费用,这个费用等于道路长度乘以道路两端 的国家个数之差的绝对【题解】[NOI2011]阿狸的打字机
阿狸的打字机 \(\text{Solution:}\) 首先观察三种操作:一种是插入一个字符,一种是退回上一步(回到父亲节点)。 所以,我们可以对操作串进行模拟,并处理出每一个串在树上的位置。 接下来,我们考虑如何处理询问。\(y\)是需要跑的串,于是我们应按照\(y\)排序以保证在处理这个\(y\)之前,它本身【BZOJ2437】[NOI2011] 兔兔与蛋蛋(博弈论+二分图匹配)
点此看题面 大致题意: 一个\(n\times m\)的棋盘上,除一个格子为空之外,其余格子上都摆着黑色或白色的棋子。兔兔和蛋蛋轮流将空格旁边一个白色/黑色棋子移到空格上,谁先不能操作谁就输了。现在把他们的操作记录给你,让你判断兔兔哪几次操作是犯错误的(即该操作前兔兔有必胜策略,该操作后P2052 [NOI2011]道路修建
题目描述: 传送门 题解思路: 代码: 1 #include<iostream> 2 #include<cmath> 3 #include<string.h> 4 using namespace std; 5 #define re register 6 7 //由于题目里所给的数据太大,不适合用邻接矩阵存图 8 //而比较好用的存图方式有前向星(输入形式为"边起点 边NOI2011 Noi嘉年华(神级dp)
题目 分析: 拿到题,注意到数据范围很小,又是求最大值,可以往dp那方面想一下。 难点在于,如何使AB会场的分配尽量均匀,且活动多。考虑固定A选的活动数,去求B选的最多活动数。为了使时间不交叉,将时间压成一维。 预处理每一个区间中对应的活动数sum[ i ][ j ]。 定义:dp[ i ][ j ]表示1~i 的BZOJ 2437 [Noi2011]兔兔与蛋蛋
暴力写法直接dfs #include<bits/stdc++.h>using namespace std;char ff[45][45];int nn[45][45], n, m;int ok[1005];int xx, yy, nowx, nowy;const int dir[4][2] = { 0, -1, -1, 0, 0, 1, 1, 0 };vector<int> ans;bool dfs(int x, int y, int z) { int dx, dy[NOI2011] 阿狸的打字机
题意 给定n个字符串,m次询问(\(n,m \leq 1e5\))每次询问一个串在另一串的出现次数,可以离线处理 思路 首先肯定是对n个串建AC自动机 如何求一个串的子串?假设i点对应这个字符串,那么从fail[ i ]就表示i串的最长后缀,一直向上跳fail,就可以得到i串的所有后缀。对于i的所有子串,我们可以理解为暑假 D5 [NOI2011]阿狸的打字机(AC自动机+树状数组)
题目描述 给一个字符集大小为26的Trie树,节点数目为n,有Q次询问,每次问一个节点对应的字符串在另一个节点对应的字符串中作为子串出现了多少次 输入格式: 输入的第一行包含一个字符串,按阿狸的输入顺序给出所有阿狸输入的字符。 第二行包含一个整数m,表示询问个数。 接下来m行描述所有由