首页 > 其他分享 >寒假集训Day6

寒假集训Day6

时间:2024-01-24 10:12:48浏览次数:28  
标签:取模 Day6 long int 寒假 苹果 集训 这道题

Jellyfish and apple

https://www.luogu.com.cn/problem/CF1875C
这道题使用的是贪心
首先 对于多于m的苹果个数,可以直接分给m个人,所以先把n对m取模,然后考虑剩下的苹果
然后考虑不能分的情况
如果求出m和n的最大公约数,把m和n同时除以最大公约数,那么得到的人数应该是2k,否则的话就说明人数中一定是有某个非2的倍数的因子是苹果数没有的,这样的话苹果数不管怎么翻倍都翻不出人数
那么对于剩下的情况,就把苹果数不断地翻倍,去掉够用的苹果就行
这里记这道题主要是想说,去掉够用的苹果的时候直接取模就行了,为什么一开始要那么傻还设一个循环在遍历……

#include <bits/stdc++.h>
using namespace std;
int t = 0;
long long n,m;
long long num = 0;
inline int lowbit(int x){return x&(-x);}
int main () {
	int i = 2;
	scanf("%d" ,&t);
	for(int o = 1;o <= t; o++) {
		scanf("%lld %lld" ,&n,&m);
		if(lowbit(m / __gcd(n,m)) != m / __gcd(n,m)){
			printf("-1\n");
			continue;
		}
		n = n % m;
		while(n != 0) {
			num += n;
			n = n * 2;
			n = n % m;
		}
		printf("%lld\n" ,num);
		num = 0;
	}
	return 0;
}

标签:取模,Day6,long,int,寒假,苹果,集训,这道题
From: https://www.cnblogs.com/Crazyman-W/p/17976528

相关文章

  • 集训队论文浅读 - 信息学竞赛中构造题的常用解题方法
    抽屉原理把\(n\)个物品放入\(k\)个抽屉中,其中至少有一个抽屉中有\(\lceil\dfrac{n}{k}\rceil\)个物品,并一定有一个抽屉包含\(\lfloor\dfrac{n}{k}\rfloor\)个物品。构造题中考虑构造不同情况的抽屉,应对构造权值类问题。对于取整符号要敏感。Codeforces1450C2构......
  • 2024寒假集训 进阶训练赛 (六)部分题解
    A统计单词数题解注意是否是单词。CODECPP#include<iostream>#include<string>#include<algorithm>usingnamespacestd;intmain(){stringword,article;getline(cin,word);getline(cin,article);//转换为小写字母transform(word.beg......
  • 大三寒假学习进度笔记14
    今天在编写项目时了解到了PyTorch3D这个库,因此对这个库进行了一定的了解并尝试使用这个库PyTorch3D旨在与深度学习方法稳定集成,以预测和处理3D数据。在进行安装PyTorch3D时产生了很多错误。在anaconda虚拟环境使用condainstall下载PyTorch3D时总是会卡在solvingenvironment这......
  • 寒假生活(14)
    我们的团队项目是前后端同时进行,然后再进行精修。我现在只剩下小程序个人中心部分了,这几天先等其他部分的后端完成,再一同推进进度,所以今天继续python学习。今天的内容是异常处理。异常处理是一种在程序遇到错误或异常情况时进行捕获、处理和恢复的机制。在Python中,你可以使用try.......
  • 寒假学习(13)
    今天我继续学习python知识。今天主要学习的是文件操作,这个知识我从学习C语言开始就一直不熟悉,不仅因为它在教学的最后一章,知识讲的较少,更引文平时学习中基本用不到文件操作,所以这部分我用了很长时间。打开和关闭文件:open() 函数:用于打开一个文件,并返回一个文件对象。有两个......
  • 寒假生活指导15
    #相关模块导入fromseleniumimportwebdriver#selenium4版本必须要设置浏览器选项,否则会闪退option=webdriver.EdgeOptions()option.add_experimental_option("detach",True)#实例化浏览器驱动对象,并将配置浏览器选项driver=webdriver.Edge(options=option)#......
  • 寒假生活指导14
    XPATH语法:  1.路径查询        //:查找所有子孙节点,不考虑层级关系        / :找直接子节点    2.谓词查询        //div[@id]          //div[@id="maincontent"]        3.属性查询        //@cl......
  • Java学习日记 Day6 JavaSE完结,步入正轨!!
    JavaSE:--------多线程--------①线程:线程在java中也是对象,也要创造线程类。②创建线程的三种方式:继承Thread:Thread是Runnable的实现类,而线程类进一步继承Thread类。实现Runnable:线程类直接对Runnable类进行实现。实现Callable:线程类实现Callable类。③线程的生命周期:线程从......
  • 寒假集训总结
    拓扑排序差分约束要求构造长度为\(n\)的序列使其满足\(m\)条形如\(a_i-a_j\lex_k\)或\(a_i<a_j\)的约束。对于每个约束\(a_i-a_j\lex_k\)由\(j\)向\(i\)连一条长度为\(x_k\)的有向边,若图中存在负环,则无解。若约束全部为\(a_i<a_j\)形式(即\(x\)......
  • 1.21寒假每日总结12
    思路&&Code12345678910111213141516171819202122232425262728293031323334353637/*高桥和青木N场比赛x      y得分情况分别为x1y1              ...                ..  ......