codeforces1152 div2
C
gcd(a+k, b+k) == gcd(a+k, b-a)
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5+10;
typedef long long ll;
ll ans=0;
ll mn;
ll a, b;
void work(ll x){
ll k = (x-a%x)%x;
ll aa = k+a, bb = k+b;
ll temp = aa/__gcd(aa, bb)*bb;
if(temp<mn){
ans = k;
mn = temp;
}
else if(temp == mn &&ans>k){
ans = k;
}
}
int main(){
scanf("%lld%lld", &a, &b);
if(a>b) swap(a, b);
if(a == b){
printf("0\n");
return 0;
}
mn = a/__gcd(a, b)*b;
ll d = b-a;
for(int i=1; i*i<=d; ++i){
if(d%i==0){
work(1ll*i), work(1ll*d/i);
}
}
printf("%lld\n", ans);
return 0;
}
D
题意
括号串形成的trie树的最大的匹配(选择的两条边不能有公共的节点)。
记忆化dp
奇数层必定有孩子,因此只能取得一个边
#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e3+10;
typedef long long ll;
const int mod = 1e9+7;
int dp[maxn][maxn];
//奇数层一定有孩子
int dfs(int n, int now){
if(n == 0){
if(now == 0) return dp[n][now] = 0;
else return dp[n][now] = -2;
}
if(dp[n][now]!=-1) return dp[n][now];
if(n<now||now<0) return dp[n][now] = -2;
ll temp = 0;
bool has = false;
if(dfs(n-1, now+1)>=0){
temp += dp[n-1][now+1]+(n%2==0);
has = true;
}
if(dfs(n-1, now-1)>=0){
temp += dp[n-1][now-1]+(n%2==0);
has = true;
}
if(has){
return dp[n][now] = temp%mod;
}
else return dp[n][now] = -2;
}
int main(){
int n;
scanf("%d", &n);
memset(dp, -1, sizeof(dp));
dfs(2*n, 0);
printf("%d\n", dp[2*n][0]);
return 0;
}
codeforces1152 div2的更多相关文章
- bc#54 div2
用小号做的div2 A:竟然看错了排序顺序...白白WA了两发 注意读入一整行(包括空格):getline(cin,st) [gets也是资瓷的 #include<iostream> us ...
- $('div a') 与$('div>a'),.div+.div2与.div~.div2
$('div a'):div标签下所有层次a元素的jquery对象 $('div>a'):div标签下子元素层次a元素的jquery对象 <body> <div class=' ...
- SRM 657 DIV2
-------一直想打SRM,但是感觉Topcoder用起来太麻烦了.题目还是英文,不过没什么事干还是来打一打好了.但是刚注册的号只能打DIV2,反正我这么弱也只适合DIV2了.. T1: 题目大意: ...
- CodeForces Round 192 Div2
This is the first time I took part in Codeforces Competition.The only felt is that my IQ was contemp ...
- Codeforce Round #211 Div2
真的是b到不行啊! 尼玛C题一个这么简单的题目没出 aabbccddee 正确的是aabccdee 我的是 aabcdee 硬是TM的不够用,想半天还以为自己的是对的... A:题... B:题. ...
- Topcoder srm 632 div2
脑洞太大,简单东西就是想复杂,活该一直DIV2; A:水,基本判断A[I]<=A[I-1],ANS++; B:不知道别人怎么做的,我的是100*N*N;没办法想的太多了,忘记是连续的数列 我们枚 ...
- TopCoder 603 div1 & div2
div2 250pts MiddleCode 题意:s串长度为奇数时,将中间字符取掉并添加到t末尾:长度为偶数时,将中间两个较小的字符取掉并添加到末尾. 分析:直接做,学习了一下substr(s, p ...
- TopCoder 649 div1 & div2
最近一场TC,做得是在是烂,不过最后challenge阶段用一个随机数据cha了一个明显错误的代码,最后免于暴跌rating,还涨了一点.TC题目质量还是很高的,非常锻炼思维,拓展做题的视野,老老实实 ...
- 220 DIV2 B. Inna and Nine
220 DIV2 B. Inna and Nine input 369727 output 2 input 123456789987654321 output 1 题意:比如例子1:369727--& ...
随机推荐
- Angular记录(4)
文档资料 箭头函数--MDN:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_fun ...
- Oracle DB Day03(SQL)
--day03 --创建一个包含下面信息的表,并添加一些记录待用 --EMPLOYEE_ID NOT NULL NUMBER(6) --FIRST_NAME VARCHAR2(20) --LAST_N ...
- 递归处理vue菜单数据
结构不多说,bean的封装很简单,直接上核心代码吧,自己根据需要把不要的属性自己过滤掉: public List<MenuBo> getMenuByUserId(Long user_id, ...
- 解决本地SqlServer无法连接远程服务器数据库,错误10060
本地SqlServer 连不上服务器的数据库环境,错误信息如下图,折腾来折腾去,最终还是解决了 第一步 查看服务器本地端口是否已经打开,查看方法:首先向C:\Windows\System32文件夹添加 ...
- sonar6.7.2启动报错
sonar6.7.2启动报错:错误信息如下: es.log java.lang.RuntimeException: can not run elasticsearch as rootsonar.log ...
- #20175204 张湲祯 2018-2019-2《Java程序设计》第六周学习总结
20175204 张湲祯 2018-2019-2<Java程序设计>第六周学习总结 教材学习内容总结 -第七章内部类与异常类要点: 一.内部类: Java支持在一个类中定义另一个类,这样的 ...
- MySQL1:客户端/服务器架构
一.MySQL的客户端/服务器架构 前言 之前对MySQL的认知只限于会写些SQL,本篇算是笔记,记录和整理下自己对MySQL不熟悉的地方. 大致逻辑: MySQL的服务器程序直接和我们存储的数据打交 ...
- Shell-仅保留最近3天的备份文件: find . -name "*.sql" -mtime +3 -ls -exec rm {} \;
Code: find . -name "*.sql" -mtime +3 -ls -exec rm {} \;
- 012_TCP keepalive 和 http keep-alive
TCP keepalive概念在使用TCP长连接(复用已建立TCP连接)的场景下,需要对TCP连接进行保活,避免被网关干掉连接.在应用层,可以通过定时发送心跳包的方式实现.而Linux已提供的TCP ...
- css奇技淫巧-色彩渐变与动态渐变
来源 css渐变 CSS 中设置的渐变是 gradient 数据类型,它是一种特别的image数据类型.使用background-image设置,可叠加设置多个: CSS3 定义了两种类型的渐变(gr ...