hdoj 4768 Flyer

简介: 题目意思很容易理解,学校有n个社团,每个社团只给编号从a到b 的发传单,而且只给隔了c的人发,问最后谁收到的传单是单数,输出他的编号和收到的传单数量。

题目意思很容易理解,学校有n个社团,每个社团只给编号从a到b 的发传单,而且只给隔了c的人发,问最后谁收到的传单是单数,输出他的编号和收到的传单数量。


昨天做这题的时候看见很多人过了,感觉不会很难,但是打死都想不出来,看了别人的思路,一下子就想通了。这里我简要说一下,用二分,我们可以很容易求出一段区间里的总的传单数,因为保证最多有一个是单数,我们就看单数在哪边。


下面

import java.util.Scanner;
public class Main {
  static long[] a = new long[20005];
  static long[] b = new long[20005];
  static long[] c = new long[20005];
  public static void main(String[] args) {
    Scanner cin = new Scanner(System.in);
    while (cin.hasNext()) {
      int n = cin.nextInt();
      for (int i = 1; i <= n; i++) {
        a[i] = cin.nextLong();
        b[i] = cin.nextLong();
        c[i] = cin.nextLong();
      }
      long r = Integer.MAX_VALUE, l = 0;
      while (l < r) {
        long mid = (l+r)>>1;
        long sum = 0;
        for (int i = 1; i <= n; i++) {
          long minnum;
          if (mid <= b[i])
            minnum = mid;
          else 
            minnum = b[i];
          if (minnum >= a[i]) {
            sum += (minnum - a[i])/c[i] + 1;
          }
        }
        if (sum%2 == 1)
          r = mid;
        else l = mid+1;
      }
      if (l == Integer.MAX_VALUE) {
        System.out.println("DC Qiang is unhappy.");
        continue;
      }
      long ans = 0;
      for (int i = 1; i <= n; i++) {
        if (l >= a[i] && l <= b[i]) {
          if ((l - a[i]) % c[i] == 0)
            ans += 1;
        }
      }
      System.out.println(l + " " + ans);
    }
    cin.close();
  }
}
目录
相关文章
|
存储 前端开发 JavaScript
如何在项目中高效地进行 Web 组件化开发
高效地进行 Web 组件化开发需要从多个方面入手,通过明确目标、合理规划、规范开发、加强测试等一系列措施,实现组件的高效管理和利用,从而提高项目的整体开发效率和质量,为用户提供更好的体验。
436 63
|
人工智能 Android开发 开发者
首批!通义千问通过国家大模型标准评测
首批!通义千问通过国家大模型标准评测
658 0
|
Java API 数据处理
【Java的SIMD革命】JDK 22向量API:释放硬件潜能,让Java应用性能飙升!
【9月更文挑战第7天】 JDK 22向量API的发布标志着Java编程语言在SIMD技术领域的重大突破。这一新特性不仅释放了现代硬件的潜能,更让Java应用性能实现了飙升。我们有理由相信,在未来的发展中,Java将继续引领编程语言的潮流,为开发者们带来更加高效、更加强大的编程体验。让我们共同期待Java在SIMD技术的推动下开启一个全新的性能提升时代!
|
SQL Windows
web未能加载文件或程序集“XXX”或它的某一个依赖项
如果你将应用程序生成x86而不是Any CPU时,在64位操作系统中不会出错错误,而在32位操作系统中可能会出现以下错误 “/xxxxx”应用程序中的服务器错误。 -------------------------------------------------------------------------------- 未能加载文件或程序集“xxx”或它的某一个依赖项。试图加载格式不正确的程序。
433 0
web未能加载文件或程序集“XXX”或它的某一个依赖项
|
机器学习/深度学习 Go 计算机视觉
YOLOv5改进 | Neck篇 | 利用ASF-YOLO改进特征融合层(适用于分割和目标检测)
YOLOv5改进 | Neck篇 | 利用ASF-YOLO改进特征融合层(适用于分割和目标检测)
862 0
|
JavaScript 前端开发 Java
【JCEF】如果用JCEF对项目进行web交互
【JCEF】如果用JCEF对项目进行web交互
848 0
如何使用Thymeleaf给web项目中的网页渲染显示动态数据?(三)
如何使用Thymeleaf给web项目中的网页渲染显示动态数据?(三)
|
SQL 前端开发
stream排序导致pageHelper分页失效处理
现有一查询会员上课记录的需求,要求按照上课时间进行倒序排列,考虑到后期数据量很多,使用逻辑层进行排序,但是前端小姐姐反应说查询的总记录数不正确.测试库中每页查询20条,实际所有数据总共37条,但是返回的总记录数竟然是20条,说明pageHelper分页失效.
stream排序导致pageHelper分页失效处理
|
SQL 分布式计算 关系型数据库
大数据 | (五)通过Sqoop实现从MySQL导入数据到HDFS
大数据 | (五)通过Sqoop实现从MySQL导入数据到HDFS
966 0
|
负载均衡 监控 前端开发
微服务没有gateway网关?那我就用nginx浅浅的反向代理一下吧
微服务没有gateway网关?那我就用nginx浅浅的反向代理一下吧
742 0