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. C#设计模式17——责任链模式的写法

    是什么: 责任链模式是一种行为型设计模式,它允许对象组成一个链并依次检查另一个对象是否可以处理请求.如果一个对象可以处理请求,它处理请求,并且负责将请求传递给下一个对象,直到请求被处理为止. 为什么: ...

  2. IDEA插件Material Theme UI 激活

    介绍 "Material Theme UI" 是一款为 IntelliJ IDEA 提供现代化材料设计主题的插件,通过重新设计IDE的外观,为开发人员带来更加美观.富有活力的用户体 ...

  3. wireshark 抓包使用

    本文为博主原创,转载请注明出处: 在项目开发过程当中,尤其在联调和测试功能的使用,经常会用到抓包,用抓包进行问题的定位. 所以记录一下wireshark的使用,如何抓包,分析,保存等. wiresha ...

  4. ElasticSearch使用实践(文档操作)

    可以使用Docker安装ES和Kibana: 使用docker-compose安装ElasticSearch和Kibana: version: '3.1' services: elasticsearc ...

  5. SV 自定义数据类型

    概述 自定义类型 枚举类型 定义枚举值 自定义枚举类型 枚举类型之间进行赋值是可以的 枚举类型可以赋值给整型,整型不能直接赋值给枚举类型 枚举类型 + 1 ==> 会进行隐式的转换,枚举类型转换 ...

  6. Laravel - Eloquent 模型查询

    Laravel 的 Eloquent ORM 提供了漂亮.简洁的 ActiveRecord 实现来和数据库进行交互.每个数据库表都有一个对应的「模型」可用来跟数据表进行交互.你可以通过模型查找数据表内 ...

  7. SpringBoot02:运行原理初探

    @EnableAutoConfiguration @EnableAutoConfiguration:开启自动配置功能 以前我们需要自己配置的东西,而现在SpringBoot可以自动帮我们配置 @Ena ...

  8. Nginx 配置文件备忘单

    Nginx 是用于 Web 服务.反向代理.缓存.负载平衡.媒体流等的开源软件.在这篇文章中,我将提到一些我们经常使用的 Nginx 配置. 监听端口 server { Standard HTTP P ...

  9. [转帖]Prometheus 监控之 Blackbox_exporter黑盒监测 [icmp、tcp、http(get\post)、dns、ssl证书过期时间]

    Blackbox_exporter 主动监测主机与服务状态 Prometheus 官方提供的 exporter 之一,可以提供 http.dns.tcp.icmp 的监控数据采集 官方github: ...

  10. Ergonomics JVM 的一种FullGC的说明

    https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/ergonomics.html 2 Ergonomics Ergo ...