首页 > 其他分享 >洛谷入门赛 #19 题解

洛谷入门赛 #19 题解

时间:2024-01-20 10:36:27浏览次数:34  
标签:洛谷 19 题解 y% x% 一盒 int 饼干 两盒

比赛传送门

A - 分饼干 I

将三盒饼干按数量排序。若较小的两盒饼干数之和大于另一盒饼干,则将较小的两盒饼干奖励给第一名,另一盒奖励给第二名;若较大的一盒饼干数大于另外两盒之和,则将较大的一盒奖励给第一名,另外两盒奖励给第二名。

B - 分饼干 II

每个人分到的饼干数都不同,即可以看作一个等差数列。若 (1+k)*k/2>=n,输出 Yes,否则输出 No

C - 跳房子

初始下标 \(i\) 从 \(1\) 开始,每次增加 \(a_i\),直到 \(i\ge n\)。如果 \(i=n\) 则输出 Yes,否则输出 No。第二问就在跳的时候加一个计数器即可。

D - 区间函数最小值

双重循环枚举 \(x\) 和 \(y\) 计算。为了防止溢出,在计算 \(f(x,y)\) 的时候要边算边取余。

核心代码

int a,b,c,d,e,f,g,p;
int func(int x,int y){
    return (a*x%p*x%p*x%p + b*y%p*y%p*y%p + c*x%p*x%p*y%p + d*x%p*y%p*y%p + e*x%p*y%p + f*x%p + g*y%p) %p;
}

E - 小跳蛙

存储空位的位置以及每个小跳蛙所在的位置。循环遍历,每次将第 \(i\) 个小跳蛙的位置与空位交换,起到跳跃的效果。由于只需要查找一次,所以小跳蛙的位置不需要更新。

核心代码:
const int N=1e6+5;
int a[N],t[N],n,k;
for(int i=1;i<=n;i++){
	if(a[i]==0) k=i;
	else t[a[i]]=i;
}
for(int i=1;i<n;i++){
	int c=t[i];
	swap(a[c],a[k]);
	k=c;
}

G - 二进制与一

枚举 \(x\),看 \(n+x\) 的第 \(k\) 位是否等于 1。

核心代码:
int n,q;
while(q--){
    int k;
    if((n>>(k-1))&1) continue;
    int x=0;
    while(true){
        int tmp=n+x;
        if((tmp>>(k-1))&1) break;
        x++;
    }
    ans+=x;n+=x;
}

H - Genshin 玩家

由于子串长度固定,枚举开头元素再取 substr,判断是否为所需要的字符即可。

核心代码
int cnt=0;
for(int i=0;i<s.size();i++){
	string Genshin=s.substr(i,7);
	if(Genshin!="Genshin") continue;
	for(int j=i+1;j<s.size();j++){
		string player=s.substr(j,6);
		if(player!="player") continue;
		cnt++;
	}
}

标签:洛谷,19,题解,y%,x%,一盒,int,饼干,两盒
From: https://www.cnblogs.com/Death-Basic/p/17976108/luogu-started-19

相关文章

  • [NOIP1998 普及组] 三连击
    [NOIP1998普及组]三连击题目背景本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序。题目描述将共个数分成组,分别组成个三位数,且使这个三位数构成的比例,试求出所有满足条件的个三位数。输入格式无输出格式若干行,每行个......
  • STM32CubeMX教程19 I2C - MPU6050驱动
    1、准备材料正点原子stm32f407探索者开发板V2.4STM32CubeMX软件(Version6.10.0)野火DAP仿真器keilµVision5IDE(MDK-Arm)ST-LINK/V2驱动XCOMV2.6串口助手逻辑分析仪nanoDLA2、实验目标使用STM32CubeMX软件配置STM32F407开发板的I2C1与MPU6050芯片通信,读取MPU6050的三轴加......
  • CF1898D Absolute Beauty 题解
    Problem-D-Codeforcesemm,怎么说呢?因为想起之前那个直接去掉绝对值取最大时就是答案的影响,这题并没有想到正确做法。(或者说想到了正确做法,但是因为不知道一个性质所以要大分讨)假如原题满足\(a_i<b_i\),则我们把原题抽象成线段\((a_i,b_i)\),考虑两条线段合并时的情况:......
  • P8512 [Ynoi Easy Round 2021] TEST_152 题解
    题目链接:[YnoiEasyRound2021]TEST_152题目比较抽象,翻译一下。就是有\(n\)个操作,每个操作为\((l_i,r_i,v_i)\)表示把长为\(m\)序列\(a\)的\([l_i,r_i]\)上的数覆盖为\(v_i\)。而查询为\([time_l,time_r]\),表示从\(time_l\)的操作开始执行,到\(time_r\)操作结......
  • [OI] 洛谷P1001过河卒题解
    [NOIP2002普及组]过河卒题目描述棋盘上\(A\)点有一个过河卒,需要走到目标\(B\)点。卒行走的规则:可以向下、或者向右。同时在棋盘上\(C\)点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,\(A\)点\((0......
  • 1/19 学习进度笔记
    1.Cache和Checkpoint区别Cache是轻量化保存RDD数据,可存储在内存和硬盘,是分散存储,设计上数据是不安全的(保留RDD血缘关系)CheckPoint是重量级保存RDD数据,是集中存储,只能存储在硬盘(HDFS)上,设计上是安全的(不保留RDD血缘关系)2.Cache和CheckPoint的性能对比?Cache性能更好,因为......
  • [BZOJ3786] 星系探索 题解
    题目链接:\(BZOJ\)本题通过\(dyf\_DYF\)的题解理解\(ETT\),代码则借鉴\(lcyfrog\)的题解,图片则使用了何太郎的题解。在此笔者感谢这三位神犇。声明变量:\(ls\):左儿子\(rs\):右儿子\(sz\):子树大小\(rk\):对应堆值\(fa\):节点父亲\(sm\):子树权值和\(p\):\(1/-1\)表示第一......
  • 2024.1.19
    1.Java文件类以抽象的方式代表文件名和路径。该类主要用于文件和目录的创建、文件的查找和删除等。File对象代表磁盘中实际存在的文件和目录。(1)通过给定的父抽象路径名和子路径名字字符串创建一个新的File实例File(Fileparent,Stringchild);(2)通过给定路径名字符串转换成......
  • 2024/1/19 算法笔记
    题目1:最大公约数的延伸问题P1414又是毕业季II-洛谷|计算机科学教育新生态(luogu.com.cn)题目上提及了最大公约数,但是解答却没有直接使用最大公约数doge题目意思是给定n个数,再给定一个k,往这n个数中取k个,求这k个数的最大公约数是多少?然后题目的要求是k的取值为1到n全部取......
  • P4345 [SHOI2015] 超能粒子炮·改 题解
    P4345[SHOI2015]超能粒子炮·改题解求\[\sum_{i=0}^k\binom{n}{i}\pmod{2333}\]思路这种模数小的组合数计数问题可以考虑Lucas定理,试试呗。如果按余数分类不好优化,可以按商分类求和,这样一来套个前缀和可以得到一个递推式,注意最后一块商可能是不整的,单独拿出来即可。......