Loading

随笔分类 -  模拟

1
摘要:[NOIP2015 提高组] 神奇的幻方 题意 幻方是一种很神奇的 $N \times N$矩阵:它由数字 1,2,3,\(\cdots \cdots\) ,N \(\times\) N 构成,且每行、每列及两条对角线上的数字之和都相同。 当 N 为奇数时,我们可以通过下方法构建一个幻方: 首先将 阅读全文
posted @ 2021-08-26 15:21 MQFLLY 阅读(159) 评论(0) 推荐(0)
摘要:HDU7055 Yiwen with Sqc 推式子 题意 $sqc(s,i,j,c)$表示字符串$s$中字符$c$在区间$[l,r]$出现次数 求 \[ \sum_{c=97}^{122}\sum_{i=1}^n\sum_{j=i}^n sqc(s,i,j,c)^2 \] \[ 1 \leq T 阅读全文
posted @ 2021-08-23 22:44 MQFLLY 阅读(64) 评论(0) 推荐(0)
摘要:LOJ-2362 蚯蚓 队列优化 题意 给出$n$个蚯蚓,常数$q$,$ 0 < p < 1$,现进行$m$此操作,每次操作取当前最长的蚯蚓,对于最长的蚯蚓将其分为两部分,长度分别为$\lfloor\frac\rfloor,x - \lfloor\frac\rfloor$ ,且其他蚯蚓的长度都加上$ 阅读全文
posted @ 2021-04-18 21:13 MQFLLY 阅读(56) 评论(0) 推荐(0)
摘要:GYM-102893J Straight 模拟 思维 题意 值域$[1,n]$内有$m$个已经放置好的点,尚有$s$个隐藏点可以随意放置。 问有多少种方案,使得存在连续点$i,i+1...i + m +1$ $m$个已经放置好的点有可能重叠 \[ 1 \leq n \leq 1e9\\ 1\leq 阅读全文
posted @ 2021-03-13 11:21 MQFLLY 阅读(86) 评论(0) 推荐(0)
摘要:51Nod-1288 汽油补给 ST表 贪心 模拟 题意 有$N+1$个城市,$0$是起点$N$是终点,开车从$0$依次到$N$,车每走一单位消耗一单位汽油。 给出两个城市的距离和当地的油价。求完整整个旅途最少的费用。 如果无法达到终点输出$-1$。 第一行给出$N$和$T$表示最大的汽油载油量。 阅读全文
posted @ 2020-10-07 14:31 MQFLLY 阅读(177) 评论(0) 推荐(0)
摘要:NWERC-2018 Equality Control 语法树 大模拟 题意 现给出表达式,表达式中包含$[],contract,sort,shuffle$。即序列,拼接,排序,随机。 给出两个表达式,问这两个表达式的序列的出现概率相同。 input concat(shuffle([1,2]),sh 阅读全文
posted @ 2020-10-02 10:39 MQFLLY 阅读(223) 评论(0) 推荐(0)
摘要:UVA-11549 Ca'lculator Conundrum Floyd判圈法 规律 题意 给定一个老式计算器,只能显示$n$位数字。 现输入一个整数$k$,不断对这个$K$做平方运算,问题在于若计算器出现溢出,只会保留前$n$位数字。 现给出$n,k$问可能出现的最大数字是多少。 \[ 1\le 阅读全文
posted @ 2020-09-25 15:33 MQFLLY 阅读(134) 评论(0) 推荐(0)
摘要:GYM-100199C New Year Bonus Grant 贪心,树 题意 本人英文能力有限,一开始甚至没有读懂题目。 归纳以后题意大致如下: 给出一棵树,对这棵树进行染色: 如果一个点被染色,那么它的父亲儿子兄弟结点都不能再染色。 问最多能染哪些。 分析 一开始想复杂了,在往树形DP方面想, 阅读全文
posted @ 2020-09-23 19:41 MQFLLY 阅读(119) 评论(0) 推荐(0)
摘要:CodeForces-1204C Anna, Svyatoslav and Maps 图论,最短路,双向链表 题意 给你一张$n$ 个点的有向图和一个长度为$m$ 的路径$P_1,P_2.......P_m$ 求一个最短的子序列$Q_1,Q_2.......Q_k$ ,使得$P_1 = Q_1,P_ 阅读全文
posted @ 2020-08-29 20:18 MQFLLY 阅读(139) 评论(0) 推荐(0)
摘要:暑期训练3 Gym - 102309A APA of Orz Pandas 栈,逆波兰表达式,模拟 题意 给出一个包含乘,除,加,减,取余的中缀表达式,要求转化为JAVA的大整数的运算模式,且运算元素的顺序要求严格相等。例如 Input \[ a + b + c \\ (a+b)+c \\ a+(b 阅读全文
posted @ 2020-08-26 19:52 MQFLLY 阅读(145) 评论(0) 推荐(0)
摘要:HDU-2158 最短区间版大家来找茬 模拟 尺取 题意 给定一个长度为$N$ 的序列,序列中每个整数的范围是$[0,N)$ 给出$M$ 个询问,每次询问给出一个整数$Q$ ,接下来有$Q$ 个整数,这$Q$ 个整数可能包含重复值。 现要找出一个最短的区间包含这$Q$ 个整数。输出最小的区间长度 \ 阅读全文
posted @ 2020-08-21 18:36 MQFLLY 阅读(164) 评论(0) 推荐(0)
摘要:a[i] 表示可以选择数i的个数。 对于每一组询问a,求出能够组合出的被4整除的最大的数。 显然是贪心构造,被4整除就等价于末尾两位被4整除。 需要注意的点有: 前导0,单个数字 这里通过string自带的比较性质写了一个cmp函数。 void solve() { memset(val, 0, si 阅读全文
posted @ 2020-08-19 19:48 MQFLLY 阅读(181) 评论(0) 推荐(0)
摘要:给一个n * m 的草地,初始时刻没有草,每单位时刻每块会长草。 在t时刻,将在第 x 行或者第 y 列锄草。 问最终共锄了多少草。 暴力方法: 标记pre[maxn][maxn],表示这个点上次的锄草时间,每次锄草都遍历当前行/列,并且标记pre。在线更新res 复杂度k*n 优化方法: 标记l[ 阅读全文
posted @ 2020-08-19 19:44 MQFLLY 阅读(211) 评论(0) 推荐(0)
摘要:给定一个火车的入站顺序,问是否可能以规定的顺序出站。 背景实际上是卡特兰数。 可以联想到用栈和队列来模拟这一过程。 如果进栈的过程中发现和队首相同就让他出栈。 string s1, s2; int main() { int n; while (cin >> n) { cin >> s1 >> s2; 阅读全文
posted @ 2020-08-18 20:25 MQFLLY 阅读(140) 评论(0) 推荐(0)
摘要:给出数组A和B问是否相等。 可以用java的bigdecimal 和 string的去末尾0函数实现。 public static void main(String[] args) { Scanner in=new Scanner(System.in); while(in.hasNextBigDec 阅读全文
posted @ 2020-08-17 20:54 MQFLLY 阅读(108) 评论(0) 推荐(0)
摘要:给定一个数组a。 对数组a进行操作 1.修改a[i] = j 2.对区间 L , R 求每个子区间的异或和。 容易发现若 R - L 为奇数,每个数的贡献是偶数次,答案为0 若不为奇数,则奇偶相同的位数会贡献奇数次,其他贡献偶数次,即 al ^ al+2 ^ al+4 .....ar 可以用树状数组 阅读全文
posted @ 2020-08-09 11:45 MQFLLY 阅读(222) 评论(0) 推荐(0)
摘要:题意:问给定的矩阵中形如绿色的块的个数。 红色是不合法的。第一个红没有全是同样的字母。第二个红越界。第三个红不是斜的45度 对矩形预处理。l[i][j]表示(i , j) 最大向上延伸的长度,其他同理。 mid[i][j] 表示这个点左右延申的最大长度。 用u[i][j]表示向上形成三角形的个数。 阅读全文
posted @ 2020-08-08 20:28 MQFLLY 阅读(240) 评论(0) 推荐(0)
摘要:两人玩游戏,对于一个自然数,每一轮必然是某人得分 * k ,另一人得分 *k*k 给出最终两人的分数,问是否合理。 很自然想到的做法:算出a*b的三次根式,判断这个能否整除a和b。具体证明不太会,CF猜就完事了 方法:二分。当然也可以预处理进入map int main() { int T = rea 阅读全文
posted @ 2020-08-08 10:18 MQFLLY 阅读(124) 评论(0) 推荐(0)
摘要:给定20个桶的状态,可以翻转桶把相邻的状态变换。问最少的变换次数。 此类问题通常有以下解决方案 1.暴力枚举 2.高斯消元 + 暴力枚举 3.找规律性质 这题和上一题POJ1830 很相似,可以用高斯消元异或方程组枚举自由元做。 但是比较麻烦; 注意到每个桶至多翻转一次。 从右往左的第一个1必然要通 阅读全文
posted @ 2020-07-17 10:46 MQFLLY 阅读(177) 评论(0) 推荐(0)
摘要:紫书中给出的解法是分块,非常重要的思想, 但是网上题解给出的更加简单DFS ,统计每位数对答案的贡献即可。 注意边界 具体见代码 #include<iostream> #include<string> #include<cmath> #include<cstring> #include<vector 阅读全文
posted @ 2020-03-10 21:48 MQFLLY 阅读(121) 评论(0) 推荐(0)

1