Atcoder ABC341 D - Only one of two

2024-02-27 05:28
文章标签 one two atcoder abc341

本文主要是介绍Atcoder ABC341 D - Only one of two,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Only one of two(只有两个中的一个)

时间限制:2s 内存限制:1024MB

【原题地址】

所有图片源自Atcoder,题目译文源自脚本Atcoder Better!

点击此处跳转至原题

【问题描述】

在这里插入图片描述

【输入格式】

在这里插入图片描述
在这里插入图片描述

【输出格式】

在这里插入图片描述

【样例1】

【样例输入1】

2 3 5

【样例输出1】

9

【样例说明1】

在这里插入图片描述

【样例2】

【样例输入2】

1 2 3

【样例输出2】

5

【样例说明2】

在这里插入图片描述

【样例3】

【样例输入3】

100000000 99999999 10000000000

【样例输出3】

500000002500000000

【解题思路】

老汉使用到的是二分查找的解题方式

在这里插入图片描述

代码注释有详细过程

【代码】

package ABC341_D_Onlyoneoftwo;import java.io.*;public class Main {static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));static PrintWriter pw = new PrintWriter(new OutputStreamWriter(System.out));static StreamTokenizer st = new StreamTokenizer(br);public static long readLong() throws IOException {st.nextToken();return (long) st.nval;}/*** 求最大公因数* * @param x* @param y* @return x、y的最大公因数*/public static long gcd(long x, long y) {if (x > y) {long t = x;x = y;y = t;}if (y % x == 0) {return x;}return gcd(y % x, x);}public static void main(String[] args) throws IOException {long n, m, k, x;n = readLong();m = readLong();k = readLong();// 求n、m的最大公倍数x = n * m / gcd(n, m);long l = 0;long r = (long) 1e+18;long mid, y;while ((l + 1) < r) {mid = (l + r) / 2;// 当值为mid时,一共有多少个符合题目条件的数y = (mid / n) + (mid / m) - 2 * (mid / x);// 当y<k时答案位于右半区,当y>=k时,答案位于右半区if (y < k) {l = mid;} else {r = mid;}}// 当答案为y时,也就是y=k,答案被保存在r,且一直不变,输出r即为答案pw.println(r);pw.flush();pw.close();br.close();}
}

这篇关于Atcoder ABC341 D - Only one of two的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/751339

相关文章

AtCoder Beginner Contest 370 Solution

A void solve() {int a, b;qr(a, b);if(a + b != 1) cout << "Invalid\n";else Yes(a);} B 模拟 void solve() {qr(n);int x = 1;FOR(i, n) FOR(j, i) qr(a[i][j]);FOR(i, n) x = x >= i ? a[x][i]: a[i][x];pr2(

pytorch torch.nn.functional.one_hot函数介绍

torch.nn.functional.one_hot 是 PyTorch 中用于生成独热编码(one-hot encoding)张量的函数。独热编码是一种常用的编码方式,特别适用于分类任务或对离散的类别标签进行处理。该函数将整数张量的每个元素转换为一个独热向量。 函数签名 torch.nn.functional.one_hot(tensor, num_classes=-1) 参数 t

leetcode#66. Plus One

题目 Given a non-negative integer represented as a non-empty array of digits, plus one to the integer. You may assume the integer do not contain any leading zero, except the number 0 itself. The digi

AtCoder Beginner Contest 369 D - Bonus EXP 动态规划

原题链接: https://atcoder.jp/contests/abc369/tasks/abc369_d 思路:   这道题为什么要用动态规划呢,其实,对于第i个怪物,我们有打与不打两种处理方式,而对于打,我们是获得两倍的经验值,还是一倍的经验值,与我们打了奇数只怪物还是打了偶数只怪物有关了,因此我们定义dp[i][0] 为前i只怪物总共打了偶数次,dp[i][1] 为前i只怪物总

Java多线程编程模式实战指南:Two-phase Termination模式

文章来源: http://www.infoq.com/cn/articles/java-multithreaded-programming-mode-two-phase-termination?utm_source=infoq&utm_campaign=user_page&utm_medium=link 文章代码地址: https://github.com/Visce

[LeetCode] 583. Delete Operation for Two Strings

题:https://leetcode.com/problems/delete-operation-for-two-strings/description/ 题目 Given two words word1 and word2, find the minimum number of steps required to make word1 and word2 the same, where in

One-Shot Imitation Learning

发表时间:NIPS2017 论文链接:https://readpaper.com/pdf-annotate/note?pdfId=4557560538297540609&noteId=2424799047081637376 作者单位:Berkeley AI Research Lab, Work done while at OpenAI Yan Duan†§ , Marcin Andrychow

One-Shot Imitation Learning with Invariance Matching for Robotic Manipulation

发表时间:5 Jun 2024 论文链接:https://readpaper.com/pdf-annotate/note?pdfId=2408639872513958656&noteId=2408640378699078912 作者单位:Rutgers University Motivation:学习一个通用的policy,可以执行一组不同的操作任务,是机器人技术中一个有前途的新方向。然而,

51单片机-第十一节-DS18B20温度传感器(One_Wire单总线)

一、DS18B20温度传感器介绍: DS18B20是一种数字温度传感器。 测温范围:-55C - +125C 通信接口:1-Wire(单总线) 二、引脚及应用电路: 很简单,电源,接地,通讯接口。        三、内部结构: 总图: (1)备用电源 (2)器件地址 (3)控制器 (4)存储器 (5)存储器内部: B1,B2存储最低有效温度和最高有效温度。

CodeForces 425C Sereja and Two Sequences

题意: 两组数字a和b  如果a[i]等于b[j]  则可将a[i]和b[j]前所有数字删掉  这种操作花费e体力  得到1元钱  或者一次删掉所有数字  这种操作花费等于曾经删除的所有数字个数  做完后得到所有钱  问 一共s体力 可以得到多少钱 思路: dp+二分 由数据可知最多拿到300元钱  因此可以定义  dp[i][j]表示有i元钱时  b串删除到了j处时  a串删到的位