
比赛题解
文章平均质量分 72
咸鱼吖
这个作者很懒,什么都没留下…
展开
-
学科营训练6解题报告
对于这个题,我们不难发现,他的字符插入顺序不一定是从头到尾,可以循序渐进,从中间向外面扩展,所以我们考虑区间DP。后来发现会超时,所以就在时间即将上限的时候直接输出当前算出来的答案,没想到居然还对了。只用这种标记能否不重不漏的覆盖所有修改的点呢,答案是可行的,比如说有一个修改。值的选手,那么剩余的两个选手肯定会在没有枚举到的选手中产生。,不难发现这样就能覆盖所有需要修改的点,并且不会修改多次。,对于中间无法复制粘贴的部分,直接一个一个插入就行了。数组的求法,比较无脑的,就是直接用。原创 2023-07-07 14:14:48 · 74 阅读 · 0 评论 -
csp-j 2021 赛后总结及解题报告
前言这篇博客主要写一个蒟蒻对于本场考试的一些心得体会,以及这场考试题目的题解。如有错误,欢迎各位 dalaodalaodalao 批评指出。t1t1t1 分糖果本题总结:这个题目我考试的时候没用多久就做出来了,但是由于我那台电脑的问题,导致我找不到我的代码了。所以我又重新打了一遍,这重新一打,就从 acceptacceptaccept 100100100 降到了 wrongwrongwrong answeransweranswer 808080。考场错误代码:#include<bits/原创 2021-10-27 13:11:27 · 559 阅读 · 0 评论 -
P7852 「EZEC-9」Yet Another Easy Problem
题目传送门思路构造思维题题意比较清楚,这里就不再阐述了。我们可以进行分情况讨论,我们先假定在这里构造的排列是介于 111 到 nnn 之间的数。情况1:m=0m=0m=0比较显然,他不能进行操作,我们就直接输出一个字典序最大的,即从 nnn 到 111 倒着输出即可。情况2:m≥n−1m \ge n-1m≥n−1可以至少操作 n−1n-1n−1 次,既然他可以操作 n−1n-1n−1 次,也就是说,他可以每个数字都移动一次。说白了,就是无论你给他什么序列,他只要可以操作 n−1n-1n−1原创 2021-09-10 20:19:13 · 179 阅读 · 0 评论 -
[数论,数学] 「PMOI-4」人赢
题目传送门思路我看到各位 dalaodalaodalao 们运用了什么扩展欧拉函数还有什么矩阵快速幂,问题是这些东西本蒟蒻都不会啊…本蒟蒻只会找规律。很简单,看到这道题目之后,我们可以让计算机帮我们找出规律,然后找到规律之后就很简单了,我们直接找出 第 kkk 个数在这个有规律的数列的第几个即可。这时,有人问了,你确定所有的 nnn 和 mmm 都可以找出规律?如果各位不信的话,可以自行打表,把九九八十一种情况全部找出来,保证全部都有规律。这里给大家推荐一名打表 dalaodalaodalao原创 2021-08-25 17:40:18 · 164 阅读 · 0 评论 -
[COCI2014-2015#7] TETA
题目传送门思路题目大意就是说你现在要买一些食品,如果你现在买的食品是套餐中的,且单买价比套餐价要高,那就会把买单个改为买套餐,求买食品需要花费多少钱。很简单,直接根据规则进行模拟即可。首先我们先把要买的东西的食品编号用桶的思想储存起来,假设编号为 xxx,我们定义以为数组 buyibuy_ibuyi 表示在要买的食品中,食品编号为iii的食品要买多少个。然后我们不看别的,只看套餐里的东西。 先一直循环,然后枚举套餐里的食品编号,接着一份一份的来看。 假设现在枚举到了套餐里的第 iii 个物品。如原创 2021-08-16 17:10:39 · 207 阅读 · 0 评论 -
[背包dp][COCI2011-2012#1] MATRIX
题目传送门思路背包问题。我们假设dp[j]dp[j]dp[j]表示是否能够达到jjj度这个角度,如果可以;dp[j]=1dp[j]=1dp[j]=1,如果不可以,dp[j]=0dp[j]=0dp[j]=0。首先,初始值:dp[0]=1dp[0]=1dp[0]=1。然后,我们来看dp[j]dp[j]dp[j]的状态转移。两种情况:一:如果我们选择了+a[i]+a[i]+a[i],则状态转移为dp[j]∣=dp[j−a[i]]dp[j]|=dp[j-a[i]]dp[j]∣=dp[j−a[i]]。原创 2021-08-03 15:55:31 · 177 阅读 · 0 评论 -
洛谷P7583 [COCI2012-2013#1] DOM 题解
点进题目一看大大大大水题 连数组都不用开的那种题目传送们思路很简单我们先定义一个字符c然后用while循环不停的输入这个字符 然后判断 如果这个字符不等于C,A,M,B,R,I,D,G,EC,A,M,B,R,I,D,G,EC,A,M,B,R,I,D,G,E 我们就输出他 如果相同 那就不输出 然后执行完之后就继续循环代码#include<bits/stdc++.h>using namespace std;char a;int main(){ while(cin>>原创 2021-07-23 21:24:58 · 251 阅读 · 0 评论 -
[素数筛 2020牛客NOIP赛前集训营-提高组(第二场)T1]GCD
今天给大家讲解GCD这个题目题目描述我们定义f(x)=gcd(f(x)=gcd(f(x)=gcd(xxx除111以外的所有因子)))询问从f(a)+f(a+1)+......+f(b)f(a)+f(a+1)+......+f(b)f(a)+f(a+1)+......+f(b)输入格式输入两个正整数 a b输出格式输出一个正整数表示答案样例样例输入5 7样例输出13数据范围与提示对于 100% 的数据,1<a<b<1<a<b<1<a<原创 2021-07-23 13:37:39 · 262 阅读 · 1 评论 -
c++ 最大乘积
今天给大家讲最大乘积这道题目最大乘积内存限制:256 MiB时间限制:1000 ms输入文件:maximum.in输出文件:maximum.out题目类型:传统评测方式:文本比较 题目描述给你nnn个整数 a1,a2,a3,a4...ana1,a2,a3,a4...ana1,a2,a3,a4...an 从中任意挑选出个数字,使得乘积最大,输出乘积最大值。输入格式输入有多组测试数据。第一行为整数ttt,表示测试数据组数。每组测试数据第一行为整数nnn,表示数字的数量。每组测原创 2021-07-12 13:56:54 · 2915 阅读 · 0 评论 -
[动态规划]最长锯齿子序列
今天给大家讲最长锯齿子序列思路这个题目是我中学考试比赛题目 不知道为啥我没做对…这个题目一看 就知道是一个线性dpdpdp。首先 我们先定义状态设dp[i][1]dp[i][1]dp[i][1]表示以第iii个数结尾的最长锯齿子序列 初始值即dp[1][1]=1dp[1][1]=1dp[1][1]=1。接着就是状态转移 我们知道 如果在第iii个数以前的某个数jjj 满足第iii个数加入这个以jjj结尾的最长锯齿子序列是合法的时候 dp[i][1]=max(dp[i][1],dp[j][1]+1原创 2021-07-07 17:59:47 · 666 阅读 · 1 评论 -
端午节模拟赛题解
快乐的端午节模拟赛结束了 在此特发一篇题解作为纪念第一题 公寓的房间思路这个题目嘛 倒也没什么可以说的直接用两个循环把所有房间枚举一遍 最后用一个变量sumsumsum把房间号的和记录下来即可。代码#include<iostream>using namespace std;int n,k;long long ans;int main(){ cin>>n>>k;//输入 //循环枚举房间 将房间号加起来 for(int i=1;原创 2021-06-17 20:57:09 · 159 阅读 · 0 评论