srm 553

原创 2015年11月18日 15:39:52

欢迎点此阅读QvQ

250


Solution

1分别替换为0,1,2来判断答案是否变化即可。简单粗暴

Code

#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define mp make_pair
#define F first
#define S second
typedef long long LL;
typedef pair<int, int> pii;
LL gao(vector<int> a) {
    stack<LL> S;
    int n = a.size();
    for (int i = 0; i < 100; ++i)   S.push(0);
    for (int i = 0; i < n; ++i) {
        if (!a[i]) {
            LL x = S.top();
            S.pop();
            LL y = S.top();
            S.pop();
            S.push(x + y);
        }
        else S.push(a[i]);
    }
    return S.top();
}
struct Suminator {
    int findMissing(vector <int> a, int S) {
        int n = a.size();
        int p;
        for (int i = 0; i < n; ++i) 
            if (a[i] == -1) p = i;
        a[p] = 0;
        LL t = gao(a);
        if (t == S) return 0;
        a[p] = 1;
        LL u = gao(a);
        a[p] = 2;
        LL v = gao(a);
        if (u == v) return -1;
        if (u <= S) return S - u + 1;
        return -1;
    }
};

500


Description

求将地图染成2个凸连通块的方案数

Solution

这是道比较有趣的题,首先发现,如果有一段连续的格子被染成同一颜色,在以后的行上,被同色染的格子数一定非递增或非递减,且会确定以后行的状态。于是可以dp,大概就是dp到第i行连续j个格子被染成同一颜色,当前状态是非递增还是非递减还是尚未确定。

Code

#include <bits/stdc++.h>//dp
using namespace std;
#define pb push_back
#define mp make_pair
#define F first
#define S second
typedef long long LL;
typedef pair<int, int> pii;
const int N = 55, M = 1e9 + 7;
int n, m;
int dp[N][N][3][2][2];
bool bw[N][N], wb[N][N];
int f(int x, int y, int dir, int ok1, int ok2) {
    if (x == n) {
        if (y == m && dir == 2) return 0;
        return ok1 + ok2;
    }
    int &t = dp[x][y][dir][ok1][ok2];
    if (~t) return t;
    t = 0;
    for (int num = 0; num <= m; ++num) {
        if (dir == 0 && num < y || dir == 1 && num > y) continue;
        int ndir = dir;
        if (dir == 2 && num < y)    ndir = 1;
        if (dir == 2 && num > y)    ndir = 0;
        if (x == 0) ndir = 2;
        if (y == m && num == 0) continue;
        int t1 = ok1, t2 = ok2;
        if (!bw[x][num])    t1 = 0;
        if (!wb[x][num])    t2 = 0;
        (t += f(x + 1, num, ndir, t1, t2)) %= M;
    }
    return t;
}
struct TwoConvexShapes {
    int countWays(vector <string> grid) {
        n = grid.size(), m = grid[0].size();
        memset(dp, -1, sizeof(dp));
        for (int i = 0; i < n; ++i)
            for (int j = 0; j <= m; ++j) {
                bw[i][j] = 1;
                for (int k = 0; k < j; ++k)
                    if (grid[i][k] == 'W')  bw[i][j] = 0;
                for (int k = j; k < m; ++k)
                    if (grid[i][k] == 'B')  bw[i][j] = 0;
                wb[i][j] = 1;
                for (int k = 0; k < j; ++k)
                    if (grid[i][k] == 'B')  wb[i][j] = 0;
                for (int k = j; k < m; ++k)
                    if (grid[i][k] == 'W')  wb[i][j] = 0;
            }
        int ans = 0;
        (ans += f(0, 0, 2, 1, 1)) %= M;
        return ans;

    }
};

SRM 553 DIV2

第一题: 题意:类似鸡兔同笼的问题,就是换成了其他动物而已。 题解:按题意列方程组,求解方程即可,枚举也能过。 代码: #include #include #include #inc...
  • ACM_Ted
  • ACM_Ted
  • 2012年08月23日 12:34
  • 462

TC SRM 553 DIV2

转载请注明出处,谢谢http://blog.csdn.net/acm_cxlove/article/details/7854526       by---cxlove 赤裸裸的又在送rate。 ...
  • ACM_cxlove
  • ACM_cxlove
  • 2012年08月23日 11:39
  • 1375

SRM 553 Div1

250pts把那个东西当成一个变量带进去,单独考虑0的情况。#include using namespace std; #define ll long long struct node { ...
  • make_it_for_good
  • make_it_for_good
  • 2016年11月10日 20:52
  • 241

SRM 553 - 500 TwoConvexShapes

题目链接: http://community.topcoder.com/stat?c=problem_statement&pm=11387 题目大意: 一个矩阵中种了两种花, 一个方格...
  • frog1902
  • frog1902
  • 2014年07月02日 00:02
  • 868

Outlook 2010 服务器错误 ’553 的解决方法

现象: 解决
  • seinedeparis
  • seinedeparis
  • 2014年06月13日 15:14
  • 3281

CRM+SRM

在市场竞争日益激烈的今天,找出企业的竞争优势不仅对于扩大企业的发展十分关键,对企业的生存也很重要。有的公司优势在于价格,有的公司优势在于质量服务,但最终他们都追求同样的目标:通过获取、保持和增加最有价...
  • sophiazhou
  • sophiazhou
  • 2012年05月22日 10:28
  • 4010

中国制造2025,SRM——供应商管理系统的价值

随着工业4.0、中国制造2025的不断发展,市场竞争越发激烈,供应商管理成为企业热衷的话题,然而,对SRM如何选型?又会给企业带来什么价值?不少企业还存在疑惑。...
  • xiaorui02
  • xiaorui02
  • 2017年08月11日 14:21
  • 353

SAP SRM 常用tcode

1./SAPSRM/QUEST_CHANGE 更改现有问卷 /SAPSRM/QUEST_CREATE 创建新问卷 BBP_PD
  • forever_crazy
  • forever_crazy
  • 2014年09月15日 13:05
  • 1404

万网服务器ftp上传出现553 Could not create file

1、首先登录ftp ftp 121.1.121.1 Connected to 121.1.121.1 (121.1.121.1). 220 Welcome to www.net.cn FTP s...
  • lwx2615
  • lwx2615
  • 2014年03月24日 16:58
  • 5194

ftp上传文件显示553错误,以及linux服务器文件修改777权限

这里我用到了putty终端软件。 putty的用法网上有,百度就行。 安装完putty,用用户名和密码登录。注意这里的用户名写root。比如我的ftp用户名是yumon,那么这里不要写ym...
  • yumon321
  • yumon321
  • 2017年06月18日 19:22
  • 1944
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:srm 553
举报原因:
原因补充:

(最多只允许输入30个字)