【九省联考2018】一双木棋

题面

https://www.luogu.org/problem/P4363

题解

很套路的$hash$状态$+dp$。

可知棋子形成的形状一定是一个连续的倒楼梯形(楼梯向右延伸的长度可以不连续,但一定单调)

$hash$轮廓就行了。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<vector>
#define ri register int
#define N 11
#define LL long long
#define INF 1000000007
#define mod 1233107
using namespace std;
int a[N][N],b[N][N];
LL pow[N];
int n,m;
vector<int>f[mod];
vector<LL>g[mod];

int dfs(LL x) {
  int ln[N];
  int yx=x%mod;
  for (ri i=0;i<g[yx].size();i++) if (g[yx][i]==x) return f[yx][i];
  g[yx].push_back(x);
  f[yx].push_back(0);
  int tl=f[yx].size()-1;
  int tot=0,opt,ret;
  LL tx=x,nx;
  for (ri i=n;i>=1;i--) {
    ln[i]=x/pow[i];
    x%=pow[i];
  }
  ln[0]=m+1;
  for (ri i=1;i<=n;i++) tot+=ln[i];
  if (tot==n*m) return 0;
  if (tot%2==0) opt=1; else opt=0;
    
  if (opt) ret=-INF; else ret=INF;
  for (ri i=1;i<=n;i++) if (ln[i-1]>ln[i] && ln[i]+1<=m) {
    nx=tx+pow[i];
    if (opt) {
      int t=dfs(nx);
      if (a[i][ln[i]+1]+t>ret) ret=a[i][ln[i]+1]+t;
    }
    else {
      int t=dfs(nx);
      if (-b[i][ln[i]+1]+t<ret) ret=-b[i][ln[i]+1]+t;
    }
  }
  return f[yx][tl]=ret;
}

int main(){
  cin>>n>>m;
  for (ri i=1;i<=n;i++) 
    for (ri j=1;j<=m;j++) cin>>a[i][j];
  for (ri i=1;i<=n;i++)
    for (ri j=1;j<=m;j++) cin>>b[i][j];
  pow[1]=1LL;
  for (ri i=2;i<=n;i++) pow[i]=pow[i-1]*11LL;
  printf("%d\n",dfs(0));
}

 

转载于:https://www.cnblogs.com/shxnb666/p/11426246.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 黄河九省地图数据Shp是一种包含九个省份的地理信息系统文件格式,可以在各种GIS软件中使用。这些九个省份包括青海、甘肃、宁夏、内蒙古、陕西、山西、河南、山东和河北。该地图数据Shp覆盖了全部黄河流域,以黄河为中心,包括了黄河流域内的山脉、河流、湖泊、城市、道路等地理要素。使用这个地图数据Shp可以提供各种黄河流域的地理信息分析与处理,如水文、水资源、水环境、地质灾害、城市规划、交通等领域。 该地图数据Shp由多个文件组成,其中包括.shp、.shx、.dbf等几个文件。其中.shp文件存储了地图数据几何图形信息,.shx文件存储了几何图形的索引信息,.dbf文件存储了属性数据信息。可以使用各种GIS软件打开这些文件,可以查看和编辑地图数据,进行地理信息分析和处理。 使用黄河九省地图数据Shp 可以进行各种有关黄河流域的地理信息分析和处理。例如,分析黄河流域内不同地区的地形、气候、土壤、地质等因素对河流水质、水量、水文周期以及水文气候等方面的影响。此外,还可以计算不同区域内的水资源量, 分析地区可能面临的水资源风险, 同时可以对水资源进行合理规划与管理。 总之,黄河九省地图数据Shp为黄河流域日常采集和分析水文资料提供了有力支持, 同时也可以支持城市建设和工程规划等方面的分析。因此,黄河九省地图数据Shp在黄河流域及周边地区的管理和规划等领域中具有广泛的应用前景。 ### 回答2: 黄河九省地图数据shp是一种包含有关中国黄河流域九个省份地理信息的数字地图文件。这些省份包括:青海、甘肃、宁夏、内蒙古、陕西、山西、河南、山东和河北。该地图文件将这些省份的边界和地理要素转换为几何图形,并将其存储在shp文件中,可实现对其进行空间分析和地图制作。 这个地图数据shp文件实用性很高,可以广泛应用于黄河流域相关的地理信息领域。例如,在自然资源管理方面,可以使用它来进行土地资源、水资源、气候资源和矿产资源的分析,以便有效管理和利用这些资源。而在交通运输、城市规划和环境保护方面,该文件可以用于路线规划、区域规划和环境监测,提高规划决策的准确性和精度。 此外,该地图数据shp文件可以应用在教育和科研领域,如地理信息系统、地理编码和遥感分析等方面,为学术研究和教学活动提供相关的数据支持和参考。总之,黄河九省地图数据shp文件是非常有价值的地理信息资源,对于研究和应用黄河流域相关的地理信息问题非常有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值