可能开始宿舍比较乱,思绪静不下来。。。想了大半个小时,终于确定了应该暴力+DP,然后写了枚举除数,和被除的版本。。这样,还敲错了个字母,第一次提交还100多,修改提交还有75.多,最后想到,貌似不打对啊,改完再交就剩下75了。。。还好,没挂0。。。这样写,还是比较好写的,最后10分钟,开始改,最后4分钟改完。。

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;
#define LL long long
int dp[][];
int gcd(int a,int b)
{
return b == ?a:gcd(b,a%b);
}
LL s1[];
LL s2[];
int dfs(int n,int m)
{
int i,j;
memset(dp,,sizeof(dp));
for(i = ; i <= n; i ++)
{
for(j = ; j <= m; j ++)
{
if(s1[i-] == s2[j-])
dp[i][j] = dp[i-][j-] + ;
else
dp[i][j] = max(dp[i-][j],dp[i][j-]);
}
}
return dp[n][m];
}
class AstronomicalRecords
{
public :
int minimalPlanets(vector <int> A, vector <int> B)
{
int i,j,k,maxz;
for(i = ; i < A.size(); i ++)
s1[i] = A[i];
for(i = ; i < B.size(); i ++)
s2[i] = B[i];
maxz = dfs(A.size(),B.size()); for(i = ; i < A.size(); i ++)
{ for(j = ; j < B.size(); j ++)
{
for(k = ; k < A.size(); k ++)
s1[k] = (LL)B[j]*A[k];
for(k = ; k < B.size(); k ++)
s2[k] = (LL)A[i]*B[k];
maxz = max(maxz,dfs(A.size(),B.size()));
} }
return A.size() + B.size() - maxz;
}
};

SRM 594 DIV1 250的更多相关文章

  1. Topcoder SRM 643 Div1 250<peter_pan>

    Topcoder SRM 643 Div1 250 Problem 给一个整数N,再给一个vector<long long>v; N可以表示成若干个素数的乘积,N=p0*p1*p2*... ...

  2. SRM 595 DIV1 250

    挺简单的组合把. #include <cstdio> #include <cstring> #include <iostream> #include <vec ...

  3. TC SRM 593 DIV1 250

    我只能说的亏没做,要不就挂0了.. 本来想四色定理,肯定4就可以的...然后准备爆,发现3的时候不好爆,又想了老一会,嗯,数据范围不小,应该不是暴力,直接找规律,貌似最大就是3,有一个3连块,输出3, ...

  4. TC SRM 593 DIV1 250(dfs)

    这图最多3色就可以 搜2就行了 #include <iostream> #include<cstdio> #include<cstring> #include< ...

  5. 最小公倍数 SRM 661 Div1 250: MissingLCM

    Problem Statement The least common multiple (denoted "lcm") of a non-empty sequence of pos ...

  6. Topcoder SRM 698 Div1 250 RepeatString(dp)

    题意 [题目链接]这怎么发链接啊..... Sol 枚举一个断点,然后类似于LIS一样dp一波 这个边界条件有点迷啊..fst了两遍... #include<bits/stdc++.h> ...

  7. TopCoder SRM500 Div1 250 其他

    原文链接https://www.cnblogs.com/zhouzhendong/p/SRM500-250.html SRM500 Div1 250 题意 (看题用了半个小时--) 有 n 个人(编号 ...

  8. Topcoder Srm 726 Div1 Hard

    Topcoder Srm 726 Div1 Hard 解题思路: 问题可以看做一个二分图,左边一个点向右边一段区间连边,匹配了左边一个点就能获得对应的权值,最大化所得到的权值的和. 然后可以证明一个结 ...

  9. 图论 SRM 674 Div1 VampireTree 250

    Problem Statement      You are a genealogist specializing in family trees of vampires. Vampire famil ...

随机推荐

  1. Gradle使用指南

    Gradle Plugin User Guide - Android Studio Project Sitehttp://tools.android.com/tech-docs/new-build-s ...

  2. PowerDesigner连接Oracle数据库生成数据模型【数据源连接方式】

    1.进入操作系统的管理工具 2.选择ODBC数据源[32位或64位] 3.列表中是当前数据库已有的数据源,右侧点击添加按钮,添加适合自己的数据源 4.在列表中选择索要连接数据库的ODBC驱动[这里我要 ...

  3. 2-01SQL的概述

    SQL: Structured Query Languaage:结构化查询语言. 美国国家标准局ANSI. 国际标准化组织. T-SQL: Transact-SQL. T-SQL是SQL的扩展集. 对 ...

  4. hdu 2891 中国剩余定理

    从6点看到10点,硬是没算出来,早知道玩游戏去了,艹,明天继续看 不爽,起来再看,终于算是弄懂了,以后超过一个小时的题不会再看了,不是题目看不懂,是水平不够 #include<cstdio> ...

  5. 在Entity Framework 7中进行数据迁移

    (此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注.) 题记:虽然EF7重新设计了Entity Framework,不过也还是能够支持数据迁移的. Entity Fra ...

  6. 为什么接口类型可以直接new?

    Runnable rn = new Runnable() { public void run() { } }; 实际相当于,jdk会自动生成一个匿名内部类,完成职责: class Anomymous ...

  7. Android 大牛的 blog 值得推荐 (转 整理)

    1 收集了 国外著名开发者 25 人,包括 Github 地址.Blog 地址以及重点贡献介绍 链接 收集了 国内部分开发者 32人,包括 Github 地址.Blog 地址以及重点贡献介绍, 链接 ...

  8. zookeeper源码分析三LEADER与FOLLOWER同步数据流程

    根据二)中的分析,如果一台zookeeper服务器成为集群中的leader,那么一定是当前所有服务器中保存数据最多的服务器,所以在这台服务器成为leader之后,首先要做的事情就是与集群中的其它服务器 ...

  9. loadrunner选择执行哪个Action

    深圳湖北籍软件测试群 275212937

  10. css3 总结03

    box-flex: 设置或检索弹性盒模型对象的子元素如何分配其剩余空间. <ul id="box"> <li>a</li> <li> ...