2019 ICPC Asia-East Continent Final(A,M)题解

简介: 2019 ICPC Asia-East Continent Final(A,M)题解

A.

题意就是输入n,m,代表行含n格,列含m格,让我们在这个网格里面找线段,要求线段中点是交叉点;求有几个线段。


题解;


我们可以分析知道,把每一行每一列的含有合法的线段找出来,然后找出类似2*2,4*4的正方形的所有个数*2;


全部加起来就是答案。

#include <bits/stdc++.h>
using namespace std;
long long sum = 0, sum1 = 0, sum2 = 0;
int main() {
  int n, m;
  cin >> n >> m;
  for (int i = 2; i <= n; i += 2) {
    sum += n + 1 - i;
  }
  for (int i = 2; i <= m; i += 2) {
    sum1 += m + 1 - i;
  }
  sum2 += sum * (m + 1) + sum1 * (n + 1);
  for (int i = 1; i <= n; i++) {
    sum2 += sum1 * (i / 2) * 2;
  }
  cout << sum2 << endl;
}


M.


题意就是给出a排列,b排列,我们的结果序列可以加ai,但是如果i>2,j>2;i^k=j,我们的结果就要减bj,求结果最大化。


我们可以用2,3,5……的的K次方来搞在每一个里面找到最大的数,然后加起来。


#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1e6 + 7;
long long a[maxn], b[maxn], vis[maxn] = {0}, c[maxn], d[maxn];
int pd(int x, int  y) {
  for (ll i = x; i <= y; i *= x) {
    if (i == y) {
      return 1;
    }
  }
  return 0;
}
int main() {
  int n;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
  }
  for (int i = 1; i <= n; i++) {
    cin >> b[i];
  }
  long long sum1 = 0;
  ll maxn;
  sum1 = a[1];
  for (int i = 2; i <= n; i++) {
    long long add = 0;
    maxn = 0;
    if (!vis[i]) {
      for (ll j = i; j <= n; j *= i) {
        c[add++] = j;
        vis[j] = 1;
      }
      for (int g = 0; g < (1 << add); g++) {
        ll add1 = 0;
        long long sum = 0;
        for (int h = 0; h < add; h++) {
          if (g & (1 << h)) {
            sum += a[c[h]];
            d[add1++] = c[h];
          }
        }
        for (int i = 0; i < add1; i++) {
          for (int j = 0; j < add1; j++) {
            if (d[i] < d[j] && pd(d[i], d[j])) {
              sum -= b[d[j]];
            }
          }
        }
        maxn = max(maxn, sum);
      }
    }
    sum1 += maxn;
  }
  cout << sum1 << endl;
}


相关文章
|
人工智能 自然语言处理 搜索推荐
AI战略丨SaaS 遇见 AI,企业教培开启新范式
“我们会不断完善整体的工程能力,争取以最低的成本,帮助用户训练他们所需要的、好用的 AI 产品。”
|
机器学习/深度学习 弹性计算 测试技术
Kimi Playground与ModelScope MCP合作,共建更智能的Agent
月之暗面发布开源模型Kimi K2,参数总量达1T,激活参数32B,基于MoE架构,具备强大的代码能力与通用Agent任务处理能力。在多项基准测试中取得SOTA成绩,并已开源。ModelScope与Kimi Playground集成,支持一键同步MCP服务,方便开发者使用。
939 0
|
机器学习/深度学习 人工智能 自然语言处理
Documind:开源 AI 文档处理工具,将 PDF 转换为图像提取结构化数据
Documind 是一款利用 AI 技术从 PDF 中提取结构化数据的先进文档处理工具,支持灵活的本地或云端部署。
977 8
Documind:开源 AI 文档处理工具,将 PDF 转换为图像提取结构化数据
|
Kubernetes 安全 数据安全/隐私保护
【K8S系列】深入解析k8s网络插件—Weave Net
【K8S系列】深入解析k8s网络插件—Weave Net
2175 0
|
存储 安全 网络协议
Elasticsearch 配置文件解析
【10月更文挑战第3天】Elasticsearch 配置文件解析
674 3
|
Go
Golang语言之包依赖管理
这篇文章详细介绍了Go语言的包依赖管理工具,包括godep和go module的使用,以及如何在项目中使用go module进行依赖管理,还探讨了如何导入本地包和第三方库下载的软件包存放位置。
614 4
|
存储 测试技术 数据库
数据库备份的方法
数据库备份的方法
1101 1
|
SQL 数据库管理
|
XML Java Maven
Java 中的 Maven 和 Ant 的区别
【8月更文挑战第22天】
705 0
|
运维 安全 数据中心
【Terraform实现云服务基础设施既代码(IaC)案例实战-1】:树苗科技公司的自动化转型之旅
背景树苗科技公司业务上云2年有余,随着技术的不断发展。运维团队支持业务变更配置、开资源、删资源等过程加班到深夜一两点已是家常便饭。为了进一步提升工作效率,运维总监张三决定对当前业务交付路径进行统一梳理,借助IaC的理念和Terraform自动化工具逐步实施运维生产自动化,改善组内成员频繁加班的现状。...
1051 57

热门文章

最新文章