2017 ZSTU寒假排位赛 #7
题目链接:https://vjudge.net/contest/149498#overview。
A题,水题,直接按照题意模拟一下即可。
B题,我用的是线段树。大力用的差分标记(上次听zy说过,下次再做些类似的题目好了),lyf的方法也不错。
C题,不难发现,00是不能变成其他的,而11可以变成10或者01,01/10也可以变成11。那么,如果字符串a中全是0,而b中有1,那么a是不能变成b的;同理,如果b全是0,而a中有1存在,也是不能够转化的。
D题,floyd即可。具体见代码:
#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <iostream>
#include <map>
#include <vector>
#include <set>
#include <queue>
#define t_mid (l+r>>1)
#define ls (o<<1)
#define rs (o<<1|1)
#define lson ls,l,t_mid
#define rson rs,t_mid+1,r
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int N = + ;
const int inf = 0x3f3f3f3f; int d[N][N];
int a[N];
int on[N];
ll ans[N]; int main()
{
int n;
cin >> n;
for(int i=;i<=n;i++)
{
for(int j=;j<=n;j++)
{
scanf("%d",&d[i][j]);
}
}
for(int i=;i<=n;i++) scanf("%d",a+i);
for(int k=n;k>=;k--)
{
on[a[k]] = ;
for(int i=;i<=n;i++)
{
for(int j=;j<=n;j++)
{
d[i][j] = min(d[i][j], d[i][a[k]]+d[a[k]][j]);
if(on[i] && on[j]) ans[k] += d[i][j];
}
}
}
for(int i=;i<=n;i++) printf("%I64d%c",ans[i],i==n?'\n':' ');
return ;
}
D
E题,依稀记得以前做过不能换行的DP。现在整个模型全部温故了一遍=。=思路参见:这里。能换行,那么保存下同一列中每一行能够向左延伸的最大距离,排序一遍,再按照之前的做法dp一下即可。那么如果是能够换列,道理也是类似的。AC代码如下:
#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <iostream>
#include <map>
#include <vector>
#include <set>
#include <queue>
#define t_mid (l+r>>1)
#define ls (o<<1)
#define rs (o<<1|1)
#define lson ls,l,t_mid
#define rson rs,t_mid+1,r
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int N = + ;
const int inf = 0x3f3f3f3f; int n,m;
char s[N][N];
int dp[N][N]; int main()
{
cin >> n >> m;
for(int i=;i<=n;i++) scanf("%s",s[i]+);
for(int i=;i<=n;i++)
{
for(int j=;j<=m;j++)
{
if(s[i][j] == '') dp[j][i] = dp[j-][i] + ;
else dp[j][i] = ;
}
}
int ans = ;
for(int j=;j<=m;j++)
{
sort(dp[j]+,dp[j]++n);
for(int i=n;i>=;i--) ans = max(ans, dp[j][i]*(n-i+));
}
cout << ans << endl;
return ;
}
E
——————————————————2017.2.4分割线——————————————————
注意!上面这个人的博客中第一个问题的解法是错误的,正确做法参照后面一篇博客中的两种解法。
2017 ZSTU寒假排位赛 #7的更多相关文章
- 2017 ZSTU寒假排位赛 #1
题目链接:https://vjudge.net/contest/147102#overview. A题:给出一堆的点,要找出两条垂直的直线,一条与x轴呈45度.-->使得所有的点到任意一条直线的 ...
- 2017 ZSTU寒假排位赛 #2
题目链接:https://vjudge.net/contest/147632#overview. A题,状态压缩一下然后暴力即可. B题,水题,略过. C题,有负数,前缀和不是单调的,因此不能用尺取法 ...
- 2017 ZSTU寒假排位赛 #8
题目链接:https://vjudge.net/contest/149845#overview. A题,水题. B题,给出 p个 第一个人的区间 和 q个第二个人的区间,问[l,r]中有多少个整数满足 ...
- 2017 ZSTU寒假排位赛 #6
题目链接:https://vjudge.net/contest/149212#overview. A题,水题,略过. B题,水题,读清题意即可. C题,数学题,如果把x表示成x=nb+m,则k=n/m ...
- 2017 ZSTU寒假排位赛 #5
题目链接:https://vjudge.net/contest/148901#overview. A题,排序以后xjbg即可. B题,弄个数组记录当前列是不是删除以及当前行是不是已经大于下一行然后乱搞 ...
- 2017 ZSTU寒假排位赛 #4
题目链接:https://vjudge.net/contest/148543#overview. A题:n个罪犯,每个人有一个犯罪值,现在要从里面选出连续的c个人,每个人的犯罪值都不能超过t,问选法的 ...
- 2017 ZSTU寒假排位赛 #3
题目链接:https://vjudge.net/contest/147974#overview. A题,费用流,不会..跳过了. B题,给一个图,问至少添加几条边能成为强连通图.显然缩点,要使得成为一 ...
- Codeforces Round #341 (Div. 2)
在家都变的懒惰了,好久没写题解了,补补CF 模拟 A - Wet Shark and Odd and Even #include <bits/stdc++.h> typedef long ...
- 2017杭电ACM集训队单人排位赛 - 6
2017杭电ACM集训队单人排位赛 - 6 排名 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 59 1 X X 1 1 X X 0 1 ...
随机推荐
- Oracle练习(一)
Oracle 1.检索部门编号.部门名称.部门所在地及其每个部门的员工总数. select d.deptno,d.dname,d.loc,count(*) from emp e,dept d wher ...
- R-corrplot相关性绘图,只有你想不到的
初步接触数据集,探索性分析后,经常需要做一个相关分析,得到各变量间的相关系数以及显著性水平. 本文介绍一下R-corrplot包进行相关可视化展示. 一 数据准备 载入所需的R包,利用公共数据集mtc ...
- 获取windows进程信息及CListCtrl控件(List Control)练习
环境:VS2010/MFC/对话框 效果图: 目录: 1. 关于windows进程信息获取 2. CListCtrl的使用 ------------------------------------ ...
- Linux学习(一)-安装vm虚拟机以及如何在虚拟机上安装Centos系统
(一)基本说明 学习Linux需要一个环境,我们需要创建一个虚拟机,然后在虚拟机上安装一个Centos系统来学习. 1)安装软件vm12; 2)通过vm12创建一个虚拟机空间; 3)在vm12创建好的 ...
- wepy2创建项目
1.首先 在桌面(自己选定目录下)新建一个文件夹,注意需要使用英文名. 2.Cmd中 进入到该文件目录下 3.安装 wepy 命令行工具. npm install wepy-cli -g wepy ...
- 安卓SharedPreferences类的使用
package com.lidaochen.phonecall; import android.content.Intent; import android.content.SharedPrefere ...
- BPM软件_K2再度入选Gartner iBPMS MQ挑战者象限_全球领先的工作流引擎
在Gartner 于1月最新发布的2018 iBPMS MQ报告中,K2再度入选“挑战者”象限,相较去年,K2在“前瞻性”方面有了显著提升. Gartner对该标准的定义为:供应商对市场具有清晰认识, ...
- 【转】在 Delphi 中创建 Linux 守护程序(服务进程)
转自波哥的译文,必须转过来,太有价值了!原文地址在这里.以下为原文内容: 本文译自 原文链接,语言上做了精炼和排版的变更,以便更简洁明了. Delphi 开始支持 Linux 平台为 Delphi 开 ...
- 【python】python _、__、__xx__之间的差别
本文来自 yzl11 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/yzl11/article/details/53792416?utm_source=copy 单下 ...
- 第五章、Django之模型层---单表操作
目录 第五章.Django之模型层---单表操作 一.ORM查询 二.Django测试环境搭建 三.单表查询 1. 增 2. 改 3. 删 4. 查 第五章.Django之模型层---单表操作 一.O ...