T4

在一个平面上有一块面积无限的蛋糕,给出 \(n\) 颗草莓的所在位置和 \(a\,(b)\) 条平行与 \(x\,(y)\) 轴的切刀位置。

切刀会把蛋糕沿 \(x\,(y)\) 轴切开。因此一共会切出 \((a+1)(b+1)\) 块蛋糕。

问:现在蛋糕上草莓数量最少的一块蛋糕,草莓数量是多少?最多的,又是多少?


用 lower_bound 计算出每一个草莓所属的行数和列数,然后用 map 维护草莓所在的块的草莓数量。

最小:如果有一块区域没有草莓,就是 0;否则在用 map 维护的时候就已经可以得出答案了。

T5

给出一张图和一些点对 \((x_i,y_i)\)。

定义好图:每对 \((x_i,y_i)\),都不存在路径到达。

再给出一些询问 \((p,q)\),表示询问加上 \((p,q)\) 这条边后,图是否依然是好图。


考虑每对 \((x,y)\) 和每对 \((p,q)\) 所在的连通块。

给每个连通块一个编号,记 \(id[u]\) 为 \(u\) 所在的连通块编号。

只有满足 \((id[p],id[q])\) 和每对 \((id[x],id[y])\) 都不相同,图才能依然保持为好图。

T6

有 \(n\) 天,给出一个长度为 \(n\) 的字符串 \(s\),表示小 A 的工作表,若为 # 则表示工作,反之为 . 则表示休息。

接下来,小 B 要决定他的工作表 \(t\)(也是 #.),对于一个 \(m\) 满足 \(m|n\),决定他的前 \(m\) 天的工作表,然后让第 \(i+m\) 天的工作情况和第 \(i\) 天一样,并且要求 \(n\) 天中每一天小 A 和小 B 都有至少一人工作,问共有多少种工作表的方案。


先枚举 \(m\) 为 \(n\) 的因数,\(O(\sqrt n)\),然后枚举 \(s\) 的每一个字符。如果 \(s[i]\) 为 .,则 \(t[i\mod m]\) 必须为 #

假设 \(t\) 的前 \(m\) 个字符中还剩下 \(k\) 个可以为 . 的位置,这些位置可以随便选,有 \(2^k\) 中。

但是,还要减去重复的情况:当 \(m=8\) 的 #.#.#.#.,可以在 \(m=4\) 的 #.#. 算一次。但又不能简单的减去,因为还有 \(m=2\) 的 #.……

所以做个容斥。

int dfs(string s) //求出s中有多少重复的情况
{
int ans = 0;
for (int i = 1; i <= cnt; ++i) {
if (s.length() % a[i] != 0 || a[i] == s.length()) continue;
string t = "";
int x = 0;
for (int j = 0; j < a[i]; ++j) t += '.';
for (int j = 0; j < s.length(); ++j)
if (s[j] == '#') t[j % a[i]] = '#';
for (int j = 0; j < t.length(); ++j)
if (t[j] == '.') ++x;
ans = ((ans + qpow(2, x, mod) - dfs(t)) % mod + mod) % mod;
}
return ans;
}
int solve(string s) //求出基于s的t有多少方案
{
int ans = 0;
for (int i = 1; i <= cnt; ++i) {
if (s.length() % a[i] != 0 || a[i] == s.length()) continue;
string t = "";
int x = 0;
for (int j = 0; j < a[i]; ++j) t += '.';
for (int j = 0; j < s.length(); ++j)
if (s[j] == '.') t[j % a[i]] = '#';
for (int j = 0; j < t.length(); ++j)
if (t[j] == '.') ++x;
ans = ((ans + qpow(2, x, mod) - dfs(t)) % mod + mod) % mod;
}
return ans;
}

ABC 304的更多相关文章

  1. 【IOS】将一组包含中文的数据按照#ABC...Z✿分组

    上一篇文章[IOS]模仿windowsphone列表索引控件YFMetroListBox里面 我们一步步的实现了WindowsPhone风格的索引. 但是有没有发现,如果你要实现按照字母排序,你还得自 ...

  2. 1Z0-053 争议题目解析304

    1Z0-053 争议题目解析304 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 304.What privileges must be granted to allow an a ...

  3. [HTTP Protocol] 200 OK (from cache)和304 Not Modified

    含义 200 OK (from cache)直接从缓存中获取的内容并未请求服务器 304 Not Modified 请求服务器并和服务器比较 If-Modified-Since,若文件未改变,服务器返 ...

  4. 扼杀 304,Cache-Control: immutable

    随着近些年社交网站的流行,越来越多的人学会了“刷”网页 ── 刷微博,刷朋友圈,刷新闻,刷秒杀页.这里的“刷”,就是刷新的意思,在浏览器里,你可以通过点击刷新按钮,或者用快捷键,或者移动端的下拉操作来 ...

  5. 在JS中关于堆与栈的认识function abc(a){ a=100; } function abc2(arr){ arr[0]=0; }

    平常我们的印象中堆与栈就是两种数据结构,栈就是先进后出:堆就是先进先出.下面我就常见的例子做分析: main.cpp int a = 0; 全局初始化区 char *p1; 全局未初始化区 main( ...

  6. 学习Python的ABC模块(转)

    http://yansu.org/2013/06/09/learn-Python-abc-module.html 1.abc模块作用 Python本身不提供抽象类和接口机制,要想实现抽象类,可以借助a ...

  7. http缓存之304 last-modified,cache-control:max-age,Etag等

    因最近客户端慢的问题,系统分析了下http协议缓存问题.本文主要记录总结http缓存相关知识. 1. 讨论涉及的要点 访问返回类 > 访问返回200 OK > 访问返回200 (from ...

  8. 将abc的全排列输出

    #include "iostream" using namespace std; void swap(char a[],int i,int j){ char temp; temp= ...

  9. 关于String str =new String("abc")和 String str = "abc"的比较

    String是一个非常常用的类,应该深入的去了解String 如: String str =new String("abc") String str1 = "abc&qu ...

  10. IE9 使用document.getElementsByName("abc") 不能获取到名称相同SPAN元素

    <div name="abc"></div> <input name="abc" type="text" /& ...

随机推荐

  1. jmeter+badboy软件安装与使用

    目录: 一.软件下载安装 1.软件下载 2.安装过程 3.安装完成后界面,默认是已经开启录制模式 二.操作使用 1.访问sougou 2.搜索:mrwhite2020 3.选择导出jmx格式 4.使用 ...

  2. 非标准库--conio.h库

    1.getch函数 主要内容 int getch(void): 所在头文件:conio.h 函数用途:从控制台读取一个字符,但不显示在屏幕上,即一个不需要通过ENTER确定的getchar. 函数原型 ...

  3. 【ThreadX-FileX】Azure RTOS FileX概述

    Azure RTOS FileX嵌入式文件系统是Azure RTOS的高级工业级解决方案,适用于Microsoft FAT文件格式,专门针对深度嵌入式,实时和IoT应用程序而设计.Azure RTOS ...

  4. css - 隐藏body滚动条

    body::-webkit-scrollbar{ display: none; }

  5. [转帖]如何监控Redis性能指标(译)

    Redis给人的印象是简单.很快,但是不代表它不需要关注它的性能指标,此文简单地介绍了一部分Redis性能指标.翻译过程中加入了自己延伸的一些疑问信息,仍然还有一些东西没有完全弄明白.原文中Metri ...

  6. [转帖]使用 Logical Import Mode

    https://docs.pingcap.com/zh/tidb/v6.5/tidb-lightning-logical-import-mode-usage 配置及使用 可以通过以下配置文件使用 Lo ...

  7. [转帖]DBWR与LGWR的写入机制

    https://www.jianshu.com/p/6c87cb6cd320 读与写是每个数据库提供的最基本的功能.当数据库中出现第一个进程时,总免不了要将数据从磁盘上加载到内存中,一次数据库的物理I ...

  8. 【转帖】纳尼,mysqldump导出的数据居然少了40万?

    0.导读 用mysqldump备份数据时,加上 -w 条件选项过滤部分数据,发现导出结果比实际少了40万,什么情况? 本文约1500字,阅读时间约5分钟. 1.问题 我的朋友小文前几天遇到一个怪事,他 ...

  9. java浅拷贝BeanUtils.copyProperties引发的RPC异常 | 京东物流技术团队

    背景 近期参与了一个攻坚项目,前期因为其他流程原因,测试时间已经耽搁了好几天了,本以为已经解决了卡点,后续流程应该顺顺利利的,没想到 人在地铁上,bug从咚咚来~ 没有任何修改的服务接口,抛出异常: ...

  10. 【学到了】golang的[]byte可以append string类型的数据

    上代码: func Test_use_string(t *testing.T){ arr := make([]byte,0, 100) arr = append(arr, "abcd&quo ...