2020沈阳区域赛

H

这题是一道典型dp
但是需要用滚动数组优化空间,
在状态转移的时候需要考虑一下是否满足天数条件。

我真的吐了,debug改了半天之后发现错误原因是:
排序应该是
sort(v+1,v+m+1)
我写成了
sort(v+1,v+m)
一直wa第35个点
我都好奇我前34个点是怎么过去的…某种程度上也算是欧了

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll inf = 1e18;int n, m = 0, r;
const int maxn = 501, maxm = 300001;
struct card
{int d, k, c;
} c[maxn];
int v[maxm];ll dp[maxm];void solve()
{dp[0] = 0;for (int j = 1; j <= m; ++j){dp[j] = dp[j - 1] + r;for (int i = 1; i <= n; ++i){int x = max(1, j - c[i].k + 1);if (v[x] + c[i].d - 1 < v[j]){x = lower_bound(v + x, v + j + 1, v[j] - c[i].d + 1) - v;while (v[x] + c[i].d - 1 < v[j])x++;}dp[j] = min(dp[j], dp[x - 1] + c[i].c);}}
}int main()
{int M;// freopen("hin", "r", stdin);scanf("%d%d%d", &n, &M, &r);for (int i = 1; i <= n; ++i)scanf("%d%d%d", &c[i].d, &c[i].k, &c[i].c);v[m] = 0;for (int i = 1, p, q; i <= M; ++i){scanf("%d%d", &p, &q);while (q--)v[++m] = p;}sort(v + 1, v + m + 1);solve();printf("%lld\n", dp[m]);return 0;
}

M

这题不是很dp,但是在解题过程中用了一个高维前缀和的dp来压缩复杂度
是一道比较模板的FWT+高维前缀和问题
比较细节的是FWT之后要根据现实意义筛一下特殊情况,
这个细节我是看了题解才想明白的。


```#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 200001, maxm = 21, maxs = 1 << 20 + 1;int n, m;
ll k;
int s;
ll a[maxs];void fwt(ll *f, int type)// 这个是板子
{for (int mid = 1; mid < s; mid <<= 1)for (int block = mid << 1, j = 0; j < s; j += block)for (int i = j; i < j + mid; i++) //这三个循环与上面完全一样{ll x = f[i], y = f[i + mid];f[i] = (x + y);f[i + mid] = (x - y);if (type == -1){f[i] /= 2;f[i + mid] /= 2;}}
}int main()
{// freopen("min", "r", stdin);char str[21];scanf("%d%d%lld", &n, &m, &k);s = 1 << m;memset(a, 0, sizeof(a));for (int i = 1; i <= n; ++i){scanf("%s", str);ll t = 0;for (int i = 0; i < m; ++i)t |= (str[i] - 'A') << i;a[t]++;}fwt(a, 1);for (int i = 0; i < s; ++i)a[i] = a[i] * a[i];fwt(a, -1);a[0] -= n;for (int i = 0; i < s; ++i)a[i] >>= 1;int ans = 0;for (int i = 1; i < s; i <<= 1)for (int j = 0; j < s; ++j){if (i & j)a[j] += a[i ^ j];}ll tot = 1ll * (n - 1) * n / 2;for (int i = 0; i < s; ++i)if (tot - a[i ^ (s - 1)] >= k)ans++;printf("%d\n", ans);return 0;
}

icpc 2020沈阳区域赛补题相关推荐

  1. 2019ICPC上海区域赛 补题(12/13) 总结

    前言: 个人的 ICPCICPCICPC 第一站,还是值得记录一下的(虽然咕到现在才记录),总体而言体验很不错,比赛兼旅游.这套题总体印象就是树树树图,作为队里数据结构兼图论选手,这次也确实写了大部分 ...

  2. ICPC 2020 亚洲区域赛济南站 赛后总结

    很感动,拿铜了! 呜呜,我的第一个国三. 榜单在最后! (想看如何拿的铜,直接看周天的正式赛) 学校上周末就放寒假了,我和两个队友(xjw学长和hxy[华宝])在学校多呆了一周. 回想起来,这一周确实 ...

  3. 2020ICPC南京区域赛 补题 总结

    前言 第一次打线上 ICPC\text{ICPC}ICPC ,记录一下.听说鸭血粉丝汤很好吃,虽然我没吃到,衣服也不赖.比赛环境方面,由于使用自己的设备,还是比较舒服的. 不晓得怎么,一到正式赛,前期 ...

  4. 2016 杭州区域赛补题

    A - ArcSoft's Office Rearrangement HDU - 5933 题意:现在有n个办公区,每个办公区内有a[i]个办公人员,现在要将这些人均匀的分布在m个办公区内,每个办公区 ...

  5. 2017 ICPC沈阳区域赛

    2017 沈阳区域赛 题号 题目 难度 知识点 A BBP Formula B Bridge C Empty Convex Polygons D Defense of the Ancients E F ...

  6. 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(济南)(重现赛)

    第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(济南)(重现赛) 导语 涉及的知识点 题目 C D G J M 参考文献 导语 日常的队内集训,开始的时候状态其实很好,但是到了后两题就出现了 ...

  7. 第十一届蓝桥杯 2020年国赛真题及解析 (Java 大学B组)

    第十一届蓝桥杯 2020年国赛真题 Java 大学B组 A 美丽的 2 B 扩散 C 阶乘约数 D 本质上升序列 E 玩具蛇 F 蓝肽子序列 ​G 皮亚诺曲线距离 H 画廊 I 补给 J 质数行者 所 ...

  8. # USACO@2020铜级赛第二题

    USACO@2020铜级赛第二题 题目(摘自usaco.org) Farmer John 的远房亲戚 Ben 是一个疯狂的科学家.通常这会在家庭聚会时造成不小的摩擦,但这偶尔也会带来些好处,尤其是当 ...

  9. 2021ICPC沈阳区域赛BEFIJM

    2021ICPC沈阳区域赛BEFIJM E. Edward Gaming, the Champion 题意 给定长度不超过2e52\mathrm{e}52e5的文本串,统计其中"edgnb& ...

最新文章

  1. Github上 Star 数相加超过 7w+ 的三个面试相关的仓库推荐
  2. 文件的使用python_python-文件的使用
  3. poj2115C Looooops
  4. 虚拟专题:知识图谱 | DDoS攻击恶意行为知识库构建
  5. MATLAB2016打开mat格式图片
  6. retrofit2、RxJava简单使用总结
  7. 【sklearn第二十七讲】模型持久性
  8. B 站监控系统的框架、演进与展望
  9. 【天梯选拔月赛】寻宝路线(dp)
  10. SpringBoot+Quartz实现动态可配定时任务(动态定时任务)
  11. [github高级控件]带你走近-自定义标签云
  12. 如何下载矢量建筑轮廓
  13. java 坦克大战设计论文,java坦克大战毕业设计论文
  14. 2022年2月份报告合集(共326份)
  15. 语音识别(html5+nodejs)
  16. Activiti6--入门学习--中间事件
  17. 计算机硕士论文质疑数据不够,硕士论文伪造数据 抽检_硕士论文编数据的后果_硕士论文数据造假怎么被发现...
  18. Silverlight 中文教程第二部分:使用布局管理 (木野狐译)
  19. 如何扩大计算机的硬盘空间,Win7系统怎么扩大C盘空间 Win7电脑扩大硬盘C盘空间方法介绍...
  20. Python中利用海龟绘图(Turtle方法)画个钟表盘

热门文章

  1. 基于EEG和fNIRS的混合生物标志物的脑成像
  2. 软件项目、产品版本号的命名规则、定义、命名规范(git代码分支版本、项目产品文档版本)
  3. 电磁波波长越短能量越强_5G信号为什么穿墙能力弱?电磁波不是波长越短穿透力越强吗?...
  4. 《把时间当作朋友》第1章读后感(二)
  5. 龙芯mips64el 微信客户端 ubuntu 微信客户端
  6. 简易的应变测量系统实现(一) 直流放大器
  7. G - Ugly Numbers
  8. 家族关系查询系统程序设计算法思路_家族关系查询系统
  9. GetPrivateProfileString函数之新手上路
  10. 关闭计算机启动程序,电脑开机启动项该怎么关闭?看我如何快速关闭启动项