补题风向标——>>

假装题意知道

A:暴力合成一遍了

n=s.size();

m=t.size();

ss+=s;

tt+=t;

if (ss==tt) or not;

B:题意是给定 1个或者2个或者3个,先假设3个数啊:a,b,c;

每次你能a-9,b-3,c-1 类似如此过程,求最小操作数。DIV 1 650是加强版 数的个数<=50;

只会最暴力,然后DP数组保存状态,已经都最暴力了,所以不用想很多了

#include<cstdio>
#include<algorithm>
#include<cmath>
#include<string.h>
#include<string>
#include<iostream>
#include<vector> using namespace std; int a[123];
int dp[66][66][66];
int n; int dfs(int x,int y,int z)
{
if (x<=0&&y<=0&&z<=0) return 0;
if (dp[x][y][z]) return dp[x][y][z];
int mx=1234;
mx=min(mx,dfs(max(0,x-1),max(0,y-3),max(0,z-9)));
mx=min(mx,dfs(max(0,x-1),max(0,y-9),max(0,z-3)));
mx=min(mx,dfs(max(0,x-3),max(0,y-1),max(0,z-9)));
mx=min(mx,dfs(max(0,x-3),max(0,y-9),max(0,z-1)));
mx=min(mx,dfs(max(0,x-9),max(0,y-3),max(0,z-1)));
mx=min(mx,dfs(max(0,x-9),max(0,y-1),max(0,z-3)));
return dp[x][y][z]=mx+1;
}
class MutaliskEasy
{
public:
int minimalAttacks(vector <int> x)
{
n=x.size();
memset(dp,0,sizeof(dp));
sort(x.begin(),x.end());
for (int i=0;i<n;i++) a[i]=x[i];
int ans=0;
if (n==1) return (a[0]+8)/9;
if (n==2) a[2]=0; return dfs(a[0],a[1],a[2]);
}
}; int main()
{ int n;
vector<int> q;
cin>>n;
for (int i=0;i<n;i++)
{
int x;
cin>>x;
q.push_back(x);
}
MutaliskEasy p;
cout<<p.minimalAttacks(q);
return 0; }

 C: 是DIV1 A

题目很炫酷啦;

给一颗树 X[I][J]=='O',表示I,J 长度为奇数,X[I][J]=='E' 表是为偶数 ‘?’ 不确定  

先来第一份,类似floyd dp 找,我们知道奇数+偶数=奇数,其他全为偶数。

我们先判断 是否不满足答案 输出-1;

然后构造:0 到其他点 为奇数 连一条边,

0到Y Y到其他边 再连一条边,0->y 是奇书,0->其他边为偶数

虽然说得很容统,不过确实不会 ,想了很久,脑洞大。。

#include <iostream>
#include <cstdlib>
#include <algorithm>
#include <fstream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <string>
#include <ctime>
#include <queue>
#include <stack>
#include <vector>
#include <map>
#include <deque>
#include <set> using namespace std; /* int dfs(int v,int w)
{
c[v]=w;
for (int i=0;i<n;i++)
{
if (x[v][i]=='E'&&x[i][v]=='O') return 0;
if (x[v][i]=='O'&&x[i][v]=='E') return 0; if (x[v][i]=='E'||x[i][v]=='E')
{
if (c[i]==0)
{
if (dfs(i,w)==0) return 0;
}
else if (w!=c[i]) return 0;
}
else if (x[v][i]=='O'||x[i][v]=='O')
{
if (c[i]==0)
{
if (dfs(i,w==1?2:1)==0) return 0;
}
else if (w==c[i]) return 0;
}
}
return 1;
}
*/
int a[60][60]; class OddEvenTree{
public:
vector<int> getTree(vector <string> x){
int n=x[0].size(); for (int i=0;i<n;i++)
for (int j=0;j<n;j++)
if (x[i][j]=='O') a[i][j]=1; vector<int> t;
t.push_back(-1);
for (int k=0;k<n;k++)
for (int i=0;i<n;i++)
for (int j=0;j<n;j++)
if ((a[i][k]+a[k][j])%2!=a[i][j]) return t; vector<int>res;
int y=-1;
for (int i=1;i<n;i++)
if (a[0][i])
{
res.push_back(0);
res.push_back(i);
y=i;
} if (y==-1) return t;
for (int i=1;i<n;i++)
if (!a[0][i])
{
res.push_back(y);
res.push_back(i);
}
return res;
}
};

 DFS版。。

#include <iostream>
#include <cstdlib>
#include <algorithm>
#include <fstream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <string>
#include <ctime>
#include <queue>
#include <stack>
#include <vector>
#include <map>
#include <deque>
#include <set> using namespace std; /* int dfs(int v,int w)
{
c[v]=w;
for (int i=0;i<n;i++)
{
if (x[v][i]=='E'&&x[i][v]=='O') return 0;
if (x[v][i]=='O'&&x[i][v]=='E') return 0; if (x[v][i]=='E'||x[i][v]=='E')
{
if (c[i]==0)
{
if (dfs(i,w)==0) return 0;
}
else if (w!=c[i]) return 0;
}
else if (x[v][i]=='O'||x[i][v]=='O')
{
if (c[i]==0)
{
if (dfs(i,w==1?2:1)==0) return 0;
}
else if (w==c[i]) return 0;
}
}
return 1;
}
*/
int a[60][60]; class OddEvenTree{
public:
vector<int> getTree(vector <string> x){
int n=x[0].size(); for (int i=0;i<n;i++)
for (int j=0;j<n;j++)
if (x[i][j]=='O') a[i][j]=1; vector<int> t;
t.push_back(-1);
for (int k=0;k<n;k++)
for (int i=0;i<n;i++)
for (int j=0;j<n;j++)
if ((a[i][k]+a[k][j])%2!=a[i][j]) return t; vector<int>res;
int y=-1;
for (int i=1;i<n;i++)
if (a[0][i])
{
res.push_back(0);
res.push_back(i);
y=i;
} if (y==-1) return t;
for (int i=1;i<n;i++)
if (!a[0][i])
{
res.push_back(y);
res.push_back(i);
}
return res;
}
};

  

正常人类版

Topcoder 658Div2的更多相关文章

  1. TopCoder kawigiEdit插件配置

    kawigiEdit插件可以提高 TopCoder编译,提交效率,可以管理保存每次SRM的代码. kawigiEdit下载地址:http://code.google.com/p/kawigiedit/ ...

  2. 记第一次TopCoder, 练习SRM 583 div2 250

    今天第一次做topcoder,没有比赛,所以找的最新一期的SRM练习,做了第一道题. 题目大意是说 给一个数字字符串,任意交换两位,使数字变为最小,不能有前导0. 看到题目以后,先想到的找规律,发现要 ...

  3. TopCoder比赛总结表

    TopCoder                        250                              500                                 ...

  4. Topcoder几例C++字符串应用

    本文写于9月初,是利用Topcoder准备应聘时的机试环节临时补习的C++的一部分内容.签约之后,没有再进行练习,此文暂告一段落. 换句话说,就是本文太监了,一直做草稿看着别扭,删掉又觉得可惜,索性发 ...

  5. TopCoder

    在TopCoder下载好luncher,网址:https://www.topcoder.com/community/competitive%20programming/ 选择launch web ar ...

  6. TopCoder SRM 596 DIV 1 250

    body { font-family: Monospaced; font-size: 12pt } pre { font-family: Monospaced; font-size: 12pt } P ...

  7. 求拓扑排序的数量,例题 topcoder srm 654 div2 500

    周赛时遇到的一道比较有意思的题目: Problem Statement      There are N rooms in Maki's new house. The rooms are number ...

  8. TopCoder SRM 590

     第一次做TC,不太习惯,各种调试,只做了一题...... Problem Statement     Fox Ciel is going to play Gomoku with her friend ...

  9. Topcoder Arena插件配置和训练指南

    一. Arena插件配置 1. 下载Arena 指针:http://community.topcoder.com/tc?module=MyHome 左边Competitions->Algorit ...

随机推荐

  1. .net4.5注册到iis

    开始->所有程序->附件->鼠标右键点击“命令提示符”->以管理员身份运行->%windir%\Microsoft.NET\Framework\v4.0.30319\as ...

  2. TFS2010升级至TFS2013完全指南(更换服务器)

    一.背景:         公司已使用tfs2010很长时间,目前随着公司的发展,项目越来越少,而产品越来越多,采用的开发模式,也逐渐从瀑布式.迭代式转向敏捷开发.为了更好的支持产品研发,决定将tfs ...

  3. 2015Java参赛邀请函

    [导读]甲骨文公司值Java语言发布20周年之际,携手全国高等级学校计算机教育研究会.教育部高等学校计算机类专业教学指导委员会,共同举办了2015年“甲骨文杯”全国Java程序设计大赛,为二百万名中国 ...

  4. linux centos 中目录结构的含义

    文件夹的含义  文件夹路径 含义  / 所有内容的开始   /root 系统管理员目录  /bin 缺省的liunx工具,就是存储命令的目录   环境变量等等 /etc 系统的配置    配置文件的存 ...

  5. codeforces 235 B lets play osu!

    cf235B 一道有意思的题.(据说是美少女(伪)计算机科学家出的,hh) 根据题目要求,就是求ni^2的和. 而n^2=n*(n-1)+n; n*(n-1)=C(n,2)*2: 所以∑ai^2=∑a ...

  6. CWnd::Updata的作用

    CWnd::Updata的作用 CWnd::UpdateData 调用此成员函数以在对话框中初始化数据,或者取回和验证对话框数据. BOOL UpdateData(BOOL bSaveAndValid ...

  7. Vickers Vane Pump - How To Choose Vane Pump Parameter Specifications?

    1 rated pressure selection. The rated pressure of the vane pump products is 7MPa, 1OMPa, 16MPa, 2lMP ...

  8. Redis进阶例子

    工作中用到的RabbitMQ例子 , 但是最后没有用 , 用的CMQ , 顺便说下CMQ社区真的少 , 并且功能少 . 一.消息体 package com.bootdo.common.rabbitmq ...

  9. docker guide

    centos docker community version install: yum -y install docker # install docker systemctl start dock ...

  10. Java中的反射--Reflect

    在张孝祥老师的Java讲解中,学习到了Java反射的一部分知识,觉得有必要好好学习一下哈. 一.反射的理解 经典总结:反射就是把Java类中的各种成分映射成为相应的Java类 例如:一个Java类中用 ...