C. Neko does Maths

题意

给 \(a,b\) ,求一个最小的 \(k\) 使得 \(\text{lcm}(a+k,b+k)\) 最小。

\(a,b\le 10^9\)

题解

\(\gcd (a+k,b+k) = \gcd(b-a,a+k)\) 。

只需枚举 \(b-a\) 的因数作为 \(\gcd\) ,容易算出最小的 \(k\) ,然后更新答案即可。

code

#include<cstdio>
long long mn=1ll<<60;
int a,b,k;
inline int gcd(int x, int y) {
return y?gcd(y,x%y):x;
}
void solve(int x)
{
int y=((a-1)/x+1)*x-a;
long long tmp=1ll*(a+y)*(b+y)/gcd(a+y,b+y);
if(tmp<mn) mn=tmp,k=y;
}
int main()
{
scanf("%d%d",&a,&b);
if(a>b) a^=b^=a^=b;
const int c=b-a;
for(int i=1;i*i<=c;++i)
if(c%i==0)
{
solve(i);
if(i*i!=c) solve(c/i);
}
printf("%d",k);
}

D. Neko and Aki's Prank

题意

给 \(n\) ,将长度为 \(2n\) 的合法括号序列放到 \(\text{trie}\) 里,求 \(\text{trie}\) 树的最大匹配,对 \(10^9+7\) 取模。

\(n\le 1000\)

题解

可以考虑直接 dp 最大匹配,但这样会涉及取 \(\max\) 操作,显然是不行的。

我们考虑贪心匹配,每次把第 \(2n-1\) 层的点全部向第 \(2n\) 点匹配,然后第 \(2n-3\) 层的点全部向第 \(2n-2\) 层的点匹配。以此类推。这样答案就为深度为奇数的点的个数。

设 \(f[i][j]\) 为深度为 \(i\) ,有 \(j\) 个左括号的点的个数。注意右括号个数始终不能超过左括号个数,左括号个数不能 \(>n\) 。转移显然。

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=2005,Mod=1e9+7;
int f[N][N];
int main()
{
int n,ans=0;
scanf("%d",&n),n<<=1;
f[0][0]=1;
for(int i=1;i<=n;++i)
for(int j=0;j<=i;++j) // ( : j
{
if(j>n/2) continue;
int k=i-j; // ) : k
if(j>=1&&j-1>=k) f[i][j]=(f[i][j]+f[i-1][j-1])%Mod;
if(k>=1&&j>k-1) f[i][j]=(f[i][j]+f[i-1][j])%Mod;
ans=(ans+(i%2==1)*f[i][j])%Mod;
}
printf("%d",ans);
}

Codeforces Round #554 (Div. 2) 选做的更多相关文章

  1. Codeforces Round #568 (Div. 2) 选做

    A.B 略,相信大家都会做 ^_^ C. Exam in BerSU 题意 给你一个长度为 \(n\) 的序列 \(a_i\) .对于每个 \(i\in [1,N]\) 求 \([1,i-1]\) 中 ...

  2. Codeforces Round #554 ( div.2 ) 总结

    应该经常需要锻炼一下英语阅读理解能力和代码能力,所以以后还是需要多打打CF. 今天大概就是水一水找找感觉. A. Neko Finds Grapes $n$个箱子,$m$个钥匙 ($n,m \leq ...

  3. Codeforces Round #554 (Div. 2) D 贪心 + 记忆化搜索

    https://codeforces.com/contest/1152/problem/D 题意 给你一个n代表合法括号序列的长度一半,一颗有所有合法括号序列构成的字典树上,选择最大的边集,边集的边没 ...

  4. Codeforces Round #554 (Div. 2)自闭记

    A 签到 #include<bits/stdc++.h> using namespace std; ],t[],ans; int main() { scanf("%d%d&quo ...

  5. Codeforces Round #554 (Div. 2) C. Neko does Maths (简单推导)

    题目:http://codeforces.com/contest/1152/problem/C 题意:给你a,b, 你可以找任意一个k     算出a+k,b+k的最小公倍数,让最小公倍数尽量小,求出 ...

  6. Codeforces Round #554 (Div. 2) 1152B. Neko Performs Cat Furrier Transform

    学了这么久,来打一次CF看看自己学的怎么样吧 too young too simple 1152B. Neko Performs Cat Furrier Transform 题目链接:"ht ...

  7. Codeforces Round #554 (Div. 2) 1152A - Neko Finds Grapes

    学了这么久,来打一次CF看看自己学的怎么样吧 too young too simple 1152A - Neko Finds Grapes 题目链接:"https://codeforces. ...

  8. Codeforces Round #554 (Div. 2)-C(gcd应用)

    题目链接:https://codeforces.com/contest/1152/problem/C 题意:给定a,b(<1e9).求使得lcm(a+k,b+k)最小的k,若有多个k,求最小的k ...

  9. Codeforces Round #554 (Div. 2) C. Neko does Maths (数论 GCD(a,b) = GCD(a,b-a))

    传送门 •题意 给出两个正整数 a,b: 求解 k ,使得 LCM(a+k,b+k) 最小,如果有多个 k 使得 LCM() 最小,输出最小的k: •思路 时隔很久,又重新做这个题 温故果然可以知新❤ ...

随机推荐

  1. MySQL之多表查询(笛卡尔积查询、内连接、外连接(左外连接,右外连接)、union、union all )

    多表查询 测试数据 create table emp (id int,name char(10),sex char,dept_id int); insert emp values(1,"大黄 ...

  2. static在c\c++中的作用(翁恺c++公开课[28-29]学习笔记)

    static相对来说是一个较复杂的修饰符,c++中的static在c的基础之上又包含了static在类中的应用(也就是说多了static的成员变量和static的成员函数):c\c++中静态变量.对象 ...

  3. Thymeleaf的内置属性(转)

    原文链接: http://somefuture.iteye.com/blog/2253761 Thymeleaf是另一个Java视图模板引擎,使用上和FreeMarker各有千秋,不了解的可以从其他博 ...

  4. SRS源码—— Thread笔记

    SRS源码中的Thread是一层套一层,最终的Thread类是在 srs_app_thread.cpp 的 SrsThread 类 这里我们暂且先放下协程的概念,把它当线程来看,其逻辑如下: 1. 在 ...

  5. Java学习第一周心得体会

    一周的学习很快就过去了,说说我个人的总结吧! 下面几个是我觉得需要牢牢记住的 1.Java的执行机制:先编译.再解释 2.变量以及基本数据类型 3.强类型编程语言:要求变量的类型与值的类型要一致 4. ...

  6. Python中from scipy.misc import imread报错的原因?

    from scipy.misc import imread 报错 查询后其原因是from scipy.misc import imread,imwrite 等方法已经被弃用,Python已经将imre ...

  7. python如何在文件每一行前面加字符串?

    对于python中原来的文件,需要在每一行前面添加一个特舒符号,比如逗号或者“--”,需要先把原来的文件内容记录下之后,进行清空,再进行写入,另外需要注意的是r+和a+都是可写可读,不过a+是从文件末 ...

  8. HTML<head></head>中标签的含义

    我们都知道,HTML的标签可以分为很多种,head 里面的我们称为元信息类标签,诸如title.meta.style.link.base.script这些,他们用来描述文档的一些基本信息. 1. ti ...

  9. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 按钮:激活状态

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  10. Java Hashtable遍历与方法使用

    参考文档 我参考了Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例,阅读了jdk 1.8的源码 Hashtable的继承关系 Hashtable继承了Dictionary类, ...