
模拟
文章平均质量分 66
模拟算法
SSL_DFT
这个作者很懒,什么都没留下…
展开
-
(AtCoder Beginner Contest 375)C - Spiral Rotation
我们考虑找找规律,注意到每次变换操作改变两个量本身和。首先如果按照题目给的方式直接进行模拟,时间复杂度。那么如何记录每个点被操作了多少次了呢。我们于是发现一个很有意思的周期。然后我们就可以考虑掉消去。不难证明操作数其实是这个。然后我们就可以不枚举。原创 2024-10-20 02:10:11 · 949 阅读 · 0 评论 -
(AtCoder Beginner Contest 375)D - ABA
给定一个只包含大写字母的字符串S,求解其长度为3的回文字序列个数。我们对于每一个字母建立一个前缀和数组。运用乘法原理,我们不难发现最后答案。首先暴力枚举区间计算答案。我们考虑使用前缀和思想。个字符里面出现的次数。原创 2024-10-20 02:04:45 · 344 阅读 · 0 评论 -
(AtCoder Beginner Contest 375)C - Spiral Rotation
我们考虑找找规律,注意到每次变换操作改变两个量本身和。首先如果按照题目给的方式直接进行模拟,时间复杂度。那么如何记录每个点被操作了多少次了呢。我们于是发现一个很有意思的周期。然后我们就可以考虑掉消去。不难证明操作数其实是这个。然后我们就可以不枚举。原创 2024-10-20 01:40:16 · 765 阅读 · 0 评论 -
(AtCoder Beginner Contest 375)B - Traveling Takahashi Problem
求按顺序走过这n个点并回到原点的总距离。任意两点之间的距离是欧几里得距离。按照题意模拟即可,时间复杂度。原创 2024-10-20 01:20:24 · 480 阅读 · 0 评论 -
(AtCoder Beginner Contest 375)A - Seats
给定一个长度为N的字符串SS只包含"#“和”."求 "#.#"子串 的出现次数。原创 2024-10-20 01:15:11 · 367 阅读 · 0 评论 -
牛客挑战赛57 A 构造题【最大公约数】【玄学?】
牛客挑战赛57 A 构造题题目描述思路因为数据比较水,这题有太多玄学做法了(同机房有人第二个样例没过直接AC的)首先找到数组中的最小值amina_{min}amin,答案一定小于等于amin+1a_{min}+1amin+1然后用 nownownow 表示当前的最大答案,向后循环时now=max(gcd(now,a[i]),gcd(now,a[i]+1))now=max(gcd(now,a[i]),gcd(now,a[i]+1))now=max(gcd(now,a[i]),gcd(now,原创 2022-02-19 11:24:23 · 565 阅读 · 2 评论 -
2021-10-06 洛谷提高B组模拟赛 A 日常【模拟】
2021-10-06 洛谷提高B组模拟赛 A 日常 思路:因为最后一个 subtasksubtasksubtask 不算分,所以就有了一个 O(26∗n)O(26*n)O(26∗n) 的做法因为最后的答案一定小于等于 262626,那么每循环到一个位置,往后枚举,最多枚举 262626 位,统计最后的长度。至于正解的 O(n)O(n)O(n),就用两个双指针维护合法序列的开头和结尾,模拟跳动就好了我写的是正解代码:#include<iostream>#include<c原创 2021-10-06 16:56:15 · 282 阅读 · 0 评论 -
2021-09-29 洛谷模拟赛 T2 数字【搜索】
2021-09-29 洛谷模拟赛 T2 数字思路:因为要保证 444 的个数要和 777 的个数一样,所以输出串的长度一定是偶数我们发现,对于任意一个输入长度 lenlenlen 为奇数的字符串,答案一定是 4444⋅⋅⋅4477⋅⋅⋅77774444···4477···77774444⋅⋅⋅4477⋅⋅⋅7777(前半部分是 444, 后半部分是 777 注意 lenlenlen 要 +1+1+1)那么偶数呢?对于长度为偶数的字符串,我们使用深搜解决,每次判断当前位置填 4 还是填 7,如果原创 2021-09-29 19:30:28 · 114 阅读 · 0 评论 -
2021-09-28 洛谷模拟赛 T1 破碎的饼干 【模拟】
2021-09-28 洛谷模拟赛 T1 破碎的饼干题目大意:给你 4 个 n∗nn*nn∗n 由黑白组成的网格,你要通过通过平移把它们拼成 2n∗2n2n*2n2n∗2n 的网格。你可以花费 1 个代价来修改某个格子的颜色,使得最后相邻两个格子的颜色都不相同问最小代价。思路:不难发现最后的矩阵一定是这两种情况(假设 n=3n=3n=3)[010101010]\begin{bmatrix}0 &1 &0 \\ 1 & 0& 1\\ 0& 1原创 2021-09-28 16:48:50 · 190 阅读 · 0 评论 -
2021-09-27 洛谷模拟赛 T3 走亲戚 【二分】【模拟】
2021-09-27 洛谷模拟赛 T3 走亲戚题目描述小X家大年初三要去拜访同村的所有亲戚,恰好他家的所有亲戚都住在一条东西走向的公路边,而车的油量有限,车子油量能行驶的距离为LLL,他对nnn个亲戚随机进行编号(1,2...n)(1,2...n)(1,2...n),假设马路的中点为000,某个亲戚的坐标 xix_ixi 就为该亲 戚到马路中点的距离(设中点以东的坐标为正数),而小X决定按照一个规则去拜访亲戚们:(1)先向东走,去东边能抵达的最远亲戚家。(2)如果油量足够,再向西走,去西边能抵达的原创 2021-09-27 17:08:39 · 316 阅读 · 2 评论 -
2021-9-26 洛谷模拟赛 T3 大鱼吃小鱼 【贪心】
2021-9-26 洛谷模拟赛 T3 大鱼吃小鱼题目大意给你 n 个数,选一些数两两匹配,但条件是大的数至少是小的数的两倍。然后如果有数没有匹配,则自己视为一对,否则一对匹配算一对。然后要你最小化对数__ By TJH思路:显然贪心首先从小到大排序,将区间划分为[1,n2][1,\frac{n}{2}][1,2n] 和 [n2+1,n][\frac{n}{2}+1,n][2n+1,n],两段。从左往右贪心选数匹配代码#include<iostream>#include原创 2021-09-27 07:53:37 · 140 阅读 · 0 评论 -
2021-9-26 洛谷模拟赛 T1 小鱼吃大鱼【结论?】【数学】【模拟?】
2021-9-27 洛谷模拟赛 T1 大鱼吃小鱼题目大意给你一个堆数 a1,a2,a3 ⋅⋅⋅ an−1,ana_1,a_2,a_3~···~a_{n-1},a_na1,a2,a3 ⋅⋅⋅ an−1,an,让你从中选取两个数 ai,aj (ai>aj)a_i,a_j~(a_i>a_j)ai,aj (ai>aj),使得 ai mod aja_i\bmod a_jaimodaj 的值最大,1≤n≤2∗106原创 2021-09-27 07:25:47 · 107 阅读 · 0 评论 -
【ybtoj】 冲刺 NOIP2021 模拟赛 B 组 Day4 A 统计集合 【结论】【推式子】
【ybtoj】 冲刺 NOIP2021 模拟赛 B 组 Day4 A 统计集合题目大意:定义一个集合 SSS 的函数 f(S)=max(Si)−min(Si)f(S)=max(S_i)-min(S_i)f(S)=max(Si)−min(Si)问 SSS 的所子集的 fff 函数值的和是多少思路:首先,排序是必不可少的我们考虑每一个数对最小值的贡献,用它后面的数减去它再乘上两个数之间构成的区间个数得到一个式子:∑i=1n∑j=1i(a[i]−a[j])∗2i−j−1=∑i=1n∑j=in(a原创 2021-09-25 21:07:49 · 122 阅读 · 0 评论 -
2020 10.24 洛谷普及模拟 1. 斐波那契
:--------------:2020 10.24 洛谷普及模拟1. 斐波那契1 问题描述斐波那契数列(Fibonacci sequence),⼜称⻩⾦分割数列,因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔⼦繁殖为例⼦⽽引⼊,故⼜称为“兔⼦数列”。指的是这样⼀个数列:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, . . .在数学上,斐波纳契数列被以递推的⽅法定义:F0=0,F1=1,Fn=Fn1+Fn2(n>2,n∈N∗)F0 = 0,原创 2020-10-25 15:25:11 · 228 阅读 · 0 评论 -
2021-08-24 SSL 模拟赛 T1 【结论】【位运算】
2021-08-24 SSL 模拟赛 T1怎么又开始没有标题了?这是一道散兵题,我也是散兵。题目大意:给你一个序列,问你怎么划分才能使得数列中每一段的异或之和最大。思路:众所周知,对与每一个二进制数,二进制的每一位上做异或运算,有:0 xor 1=1,0 xor 0=0,1 xor 1=00~xor~1=1,0~xor~0=0,1~xor~1=00 xor 1=1,0 xor 0=0,1&nbs原创 2021-08-25 07:33:04 · 87 阅读 · 0 评论 -
2021-08-17 SSL 模拟赛 T1【字符串】【子序列自动机】
2021-08-17 SSL 模拟赛 T1题目大意:给定一个模式串和一大堆匹配串,问你每个匹配串是否是模式串的子序列。思路:子序列自动机的弱化版。听说可以用二分和 vectorvectorvector 过掉。但是我还是打了一个极度暴力的盗版子序列自动机。我们设 nxt[i][j]nxt[i][j]nxt[i][j] 表示第 i 位后第一个 j 的出现位置。预处理 nxtnxtnxt 数组: rep(i,1,27) nxt[n+1][i]=n+1; per(i,n,0) { r原创 2021-08-17 20:51:49 · 108 阅读 · 0 评论 -
2021-08-16 SSL 模拟赛 T2【前缀和思想】【模拟】
2021-08-16 SSL 模拟赛 T2题目大意:给你一个初始序列,很多组操作,每次操作可以交换序列中两个位置的数值,每次问你初始序列在经过操作l−rl-rl−r后的目标序列。思路:首先我们按照给出的操作顺序将序列操作一遍,记录每次操作后的状态。然后对于每一个询问[l,r][l,r][l,r] 我们调出第 l−1l-1l−1次状态和第 rrr 次状态,分析每个位置的数在操作后的末位置,然后把位置变化规律代入到初始序列中,就可以得到答案。听说还可以用倍增做,但是我不会·····代码:#i原创 2021-08-16 16:14:32 · 89 阅读 · 0 评论 -
2021-08-10 SSL 模拟赛 T4
2021-08-10 SSL 模拟赛 T4啊啊啊啊还是没有标题!!!题面是图片,就不贴上来了思路:我们使用前缀和处理,遇到0 时 -1,遇到 1 时就 +1,当两个点的前缀和相同时,那么两点之间的序列就是男女相等的。然后处理一下数组的负数一处就可以了。elba teacherelba~~teacherelba teacher 的题解:代码:#include<iostream>#include<cstdio>#incl原创 2021-08-10 15:55:48 · 85 阅读 · 0 评论 -
2021-08-10 SSL 模拟赛 T3 (暴力版)
2021-08-10 SSL 模拟赛 T3 (暴力版)怎么还是没有标题??本解法是暴力在时间复杂度边缘疯狂徘徊的蒟蒻。题目描述给出一个长度为n的序列A描述一个长度为n的全排列,Ai表示前i-1个有多少个比第i个数大。请求出这个全排列输入第一行一个正整数n第二行给出序列A输出对应的全排列输入样例30 0 1输出样例1 3 2数据范围30%:2<=n<=202<=n<=202<=n<=20100%:2<=n<=80002<原创 2021-08-10 15:31:14 · 106 阅读 · 0 评论 -
2021-08-10 SSL 模拟赛 T1
2021-08-10 SSL 模拟赛 T1又是一道没有题目的题,不过还好不是很阴间。题目描述n个小球排成一列,第i个小球颜色为ai定义小球i与j的距离为|(i-j)*(ai-aj)|求所有小球间距离之和i与j 和 j与i 不必重复计算输入第一行一个n第二行给出a1,a2,…,an-1,an输出按照题目要求作答输入样例50 1 1 0 1输出样例11数据范围:30%: n<=10000n<=10000n<=10000另外40%:n<=100000原创 2021-08-10 15:05:19 · 90 阅读 · 0 评论 -
2011 东莞特长生 T2 裁缝师
问题描述:老李是某布行资深的裁缝师傅,他经常要将一块布裁剪成若干块小布。他是这样裁剪布料的:一刀下去,不管布有多长,都是沿直线剪开它为止。当然,他还可以一次剪多层布料,至于一次能剪多少层,则依赖于该布料的类型。例如:对于某种布料来说,一次只能剪一层布,那么要把一块2X3的布料剪成6块1X1的小布,总共需要剪5刀,如下图;但是,对于另外一种不同的布料来说,如果这种布料一次可以剪两层布,那么只需要三刀就可以剪开布料了(剪完第一刀后,把剪开的两块布叠在一起,再剪第二、第三刀)。显然,在剪的过程中,叠放在一起原创 2021-05-13 20:34:10 · 119 阅读 · 0 评论 -
2011东莞特长生T1 工具软件
问题描述:大家都知道任何数据、符号在计算机中都是以二进制的形式表示的。小明是某软件公司的工程师,公司应客户的需要,要开发一个小工具程序,用来实现任意进制之间的转换。可以将给定的m进制数x转化为n进制的P(所有数数据均能在长整型范围内处理)。现在也将这个任务交给你,请你来完成这个程序。数据输入:从文件tool.in中读入数据,文件中只有一行,共有三个数x,m,n(2<=m,n<=10)x,m,n(2<=m,n<=10)x,m,n(2<=m,n<=10)数据输出:将原创 2021-05-13 20:11:16 · 80 阅读 · 0 评论 -
2020 11.2 洛谷 普及 T1
2020 11.2 洛谷 普及 T1U138389 统计子序列:题面题目描述作为字符串属性的魔法师,小R有一件史诗级法宝——字符串S作为小R的粉丝,小P努力修炼,深入险境,只为获得和小R类似的法宝,经过数十年的积累,小P获 得了n个字符串,现在小P想知道,这n个字符串有多少个在S中出现。请你帮他统计一下一个字符串t在S中出现,是指t为S的一个子序列。输入格式第一行一个字符串S第二行一个正整数n接下来n行,每行一个字符串c[i]c[i]c[i]输出格式一行一个整数表示答案输入输出样例原创 2020-11-03 16:41:00 · 757 阅读 · 0 评论 -
2020 10.27 牛客普及 T2 交换
2020 10.27 普及 T2 交换题目题目描述给一个长度为 n 的 01 序列 s[1],s[2],....,s[n],s[1],s[2],....,s[n],s[1],s[2],....,s[n],现在可以至多进行 1 次如下操作:选择 x<n,1≤x<nx < n,1≤x<nx<n,1≤x<n,将 s 序列变成 s[x+1],s[x+2],.....s[n],s[1],s[2],....s[x]s[x+1],s[x+2],.....s[n],s[1],s原创 2020-10-30 22:06:03 · 161 阅读 · 0 评论 -
2020-10-27 牛客普及 T1 购物
2020−10−272020-10-272020−10−27 牛客普及 T1T1T1 购物时间限制:C/C++秒,其他语言2秒时间限制:C/C++ 秒,其他语言2秒时间限制:C/C++秒,其他语言2秒空间限制:C/C++262144K,其他语言524288K空间限制:C/C++ 262144K,其他语言524288K空间限制:C/C++262144K,其他语言524288K题目描述超市进行了买 kkk 送一的活动,商品的单价是xxx 元,牛妹想至少买 nnn 件商品,输出最少需要花费多少钱。输入原创 2020-10-28 20:55:51 · 165 阅读 · 0 评论 -
2020 10.24 洛谷普及模拟 2. 复习大战
2020 10.24 洛谷普及模拟2. 复习大战1 问题描述听!考试的钟声敲响了!由远及近。著名学佛韩学⽔要开始复习期末考试了,他⼀共有 nnn 天的时间来复习,每天认真复习⼀⻔功课。现在他想知道,经过这 nnn 天,每⻔功课他各复习了⼏天。2 输入格式第⼀⾏,⼀个整数 nnn,表示 nnn 天。接下来 nnn ⾏,每⾏⼀个字符串 SiSiSi,代表复习的学科。注意,只要两天复习的科⽬位数不同或存在⼀位不同(⼤⼩写算不同),那么就是不同的科⽬。3 输出格式⼀共nnn⾏,对于每⾏:先输原创 2020-10-25 15:41:33 · 188 阅读 · 0 评论