题目链接:XJOI - NOI2015-13 - B

题目分析

通过神奇的观察+打表+猜测,有以下规律和性质:

1) 删除的 n 个数就是 1~n。

2) 当 c = 2 时,如果 n + 1 是偶数,答案是 lcm(n + 1, (n + 1) / 2 * 3) = 3(n + 1),如果 n + 1 是奇数,答案是 lcm(n + 2, (n + 2) / 2 * 3) = 3(n + 2)。

注意特判 n = 2 和 n = 4 的情况,这些情况下 (n + 1) / 2 * 3 或 (n + 2) / 2 * 3 不在 nc 的范围内。

3) 当 c > 2 时,答案是 lcm(n + 1, 2 * (n + 1)) = 2(n + 1)。

注意特判 n = 1, c = 3 的情况,这个情况下 2 * (n + 1) 不在 nc 的范围内。

代码

  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <cstring>
  4. #include <cstdio>
  5. #include <cmath>
  6. #include <algorithm>
  7.  
  8. using namespace std;
  9.  
  10. inline void Read(int &Num)
  11. {
  12. char c = getchar();
  13. while (c < '0' || c > '9') c = getchar();
  14. Num = c - '0'; c = getchar();
  15. while (c >= '0' && c <= '9')
  16. {
  17. Num = Num * 10 + c - '0';
  18. c = getchar();
  19. }
  20. }
  21.  
  22. int T, n, c;
  23.  
  24. int main()
  25. {
  26. scanf("%d", &T);
  27. for (int Case = 1; Case <= T; ++Case)
  28. {
  29. Read(n); Read(c);
  30. if (c == 2)
  31. {
  32. if (n == 2) printf("12\n");
  33. else if (n == 4) printf("24\n");
  34. else printf("%d\n", (n + 1 + (n + 1) % 2) * 3);
  35. }
  36. else
  37. {
  38. if (n == 1 && c == 3) printf("6\n");
  39. else printf("%d\n", 2 * n + 2);
  40. }
  41. }
  42. }

  

[XJOI NOI2015模拟题13] B 最小公倍数 【找规律】的更多相关文章

  1. [XJOI NOI2015模拟题13] C 白黑树 【线段树合并】

    题目链接:XJOI - NOI2015-13 - C 题目分析 使用神奇的线段树合并在 O(nlogn) 的时间复杂度内解决这道题目. 对树上的每个点都建立一棵线段树,key是时间(即第几次操作),动 ...

  2. [XJOI NOI2015模拟题13] A 神奇的矩阵 【分块】

    题目链接:XJOI NOI2015-13 A 题目分析 首先,题目定义的这种矩阵有一个神奇的性质,第 4 行与第 2 行相同,于是第 5 行也就与第 3 行相同,后面的也是一样. 因此矩阵可以看做只有 ...

  3. Just Random HDU - 4790 思维题(打表找规律)分段求解

    Coach Pang and Uncle Yang both love numbers. Every morning they play a game with number together. In ...

  4. XJOI NOIP模拟题1

    第一题 分析: 开始想的是贪心,取每列均值最大一段. 应该是01分数规划,具体看代码 代码: program gold; var a:..]of int64; n,i,m,j,x:longint; f ...

  5. XJOI NOIP模拟题2

    第一题 组合计数 分析: 从前往后一位一位的计算 先算第一位比t小的数目,再算第一位与t[1]相同,第2位比t小的个数以此类推 先预处理一个数组h,h[i]表示从1~it串与s串不同的位数 对于第i位 ...

  6. JAVA常见算法题(三十二)---找规律

    题目一: 4,5,15,45,135,405,__ 题目二: 524,244,954,674,394,15,725, __ 题目三: 7,8,6,9,10,7,4,4,5,__ 求横线位置的整数. * ...

  7. [hdu 4869](14年多校I题)Turn the pokers 找规律+拓欧逆元

    Turn the pokers Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  8. HDU 5033 Building(北京网络赛B题) 单调栈 找规律

    做了三天,,,终于a了... 11724203 2014-09-25 09:37:44 Accepted 5033 781MS 7400K 4751 B G++ czy Building Time L ...

  9. shell习题第15题:看数字找规律

    [题目要求] 请仔细查看如下几个数字的规律,并使用shell脚本输出后面的十个数字 10 31 53 77 105 141... ... [核心要点] 计算两个数值之间的差值 [脚本] #!/bin/ ...

随机推荐

  1. selendroid项目实战2--ruby下的TOAST定位

    网上很多 python/java捕获toast的方法,但ruby的简直没见过. selendroid客户端是基于selenium,而不一定需要appium,所以很多selenium的方法可以直接使用, ...

  2. 浅谈用java解析xml文档(三)

    接上一篇,本文介绍使用JDOM解析xml文档, 首先我们还是应该知道JDOM从何而来,是Breet Mclaughlin和Jason Hunter两大Java高手的创作成果,2000年初, JDOM作 ...

  3. ASP.NET笔记之 ListView 与 DropDownList的使用(解决杨中科视频中的问题)

    1.Repeater用来显示数据.ListView用来操作数据 InsertItemTemplate和updateItemTemplate**Eval(显示数据)和Bind(双向绑定:不仅是需要展现, ...

  4. Android沉浸式状态栏实现

    Step1:状态栏与导航栏半透明化 方法一:继承主题特定主题 在Android API 19以上可以使用****.TranslucentDecor***有关的主题,自带相应半透明效果 例如: < ...

  5. (转) VS2012程序打包部署详解

    程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的是没有了打包工具.不知道出于什么原因微软没有将打包工具集成在开发环境中,但是我知道总会有解决办法的.     经过翻阅资料发现 ...

  6. 11_Servlet的一些细节知识点

    [Servlet的细节知识点1-----一个Servlet映射到多个URL] 同一个Servlet可以被映射到多个URL上,即多个<servlet-mapping>元素的<servl ...

  7. 生产项目加入到SVN版本控制

    零.介绍 每天定时备份是通过ftp打包和同步的方式,这些都是比较粗的备份,没法恢复到指定时间的文件,所以需要用到svn控制版本. (请不要问我为什么不用git) 一.现有项目文件加入版本控制 因为项目 ...

  8. 遍历 TextBox控件

    foreach (System.Windows.Forms.Control control in this.Controls) { if (control is System.Windows.Form ...

  9. asp.net <% %>,<%# %>,<%= %>,<%$ %>区别大集合

    前台页面 <div><%--可以执行服务器代码,相当于在后台写代码,Render%><%=取后台变量或方法值,只能绑定客户端控件,绑定服务器控件时后来必须调用databi ...

  10. 解决IE6下Position:fixed问题(只用css)

    在IE6.0及以下版本的浏览器里是不支持position:fixed.而在IE7,IE8,firefox,opera,chrome都可以完美的支持此特性的.解决此问题的要点主要有: 1).容器要有一个 ...