Educational Codeforces Round 68 差G
Educational Codeforces Round 68
E
题意:有 n 个线段,每个都是平行 x 或者 y 轴,只有互相垂直的两线段才会相交。问形成了多少个矩形。 \(n \le 5000, -5000 \le x_i,y_i \le 5000\)
key:树状数组
考虑枚举矩形上边和下边,如果统计出与这两条边相交的竖线个数,那么就能知道贡献。先枚举下边,把所有与它相交的竖线插入树状数组。如果把竖线按照上端点的纵坐标排序,那么按照从下往上枚举上边时就可以删掉某些竖边。总复杂度 \(O(n^2 \log n)\)
F
题意:有 n 个题,第 i 个题花费时间是 \(a_i\) 或 \(a_i+1\),概率都是 0.5,你只能顺着做。问 T 时间做题的期望个数。 \(a_i \le 10^9, T \le 10^{14}, n \le 2*10^5\)
key:概率
key:姿势
总方案数是 \(2^n\), 考虑第 i 个题被做的方案数。令 \(sum_i=\sum_{j\le i}a_i\) ,那么剩余可随意支配的时间是 \(T-sum_i\),这些时间会被分配到前 i 个题上,每个至多分配 1,或者留给后面的题。后面的题不用管,就是 \(2^{n-i}\) 种方案。所以这个题的贡献是
\[
\frac{2^{n-i}*\sum_{j=0}^{T-sum_i} {i \choose j}}{2^n}
\]
分子是一个组合数第 i 行的前缀和,这个可以直接递推(\(\sum_{i\le m} {n+1 \choose i} = 2\sum_{i\le m} {n \choose i} - {n \choose m}\))。由于随着 i 增大, \(T-sum_i\) 变小,所以可以直接做。
Educational Codeforces Round 68 差G的更多相关文章
- Educational Codeforces Round 66 差G
Educational Codeforces Round 66 F 题意:长度为 n 的序列,求有多少个区间 \([l,r]\) ,使得其构成了一个 1~r-l+1 的排列. \(n \le 3*10 ...
- Educational Codeforces Round 68 E. Count The Rectangles
Educational Codeforces Round 68 E. Count The Rectangles 传送门 题意: 给出不超过\(n,n\leq 5000\)条直线,问共形成多少个矩形. ...
- Educational Codeforces Round 68 Editorial
题目链接:http://codeforces.com/contest/1194 A.Remove a Progre ...
- Educational Codeforces Round 68 (Rated for Div. 2)---B
http://codeforces.com/contest/1194/problem/B /* */ # include <bits/stdc++.h> using namespace s ...
- Educational Codeforces Round 68
目录 Contest Info Solutions A.Remove a Progression B.Yet Another Crosses Problem C.From S To T D.1-2-K ...
- Educational Codeforces Round 68 (Rated for Div. 2)补题
A. Remove a Progression 签到题,易知删去的为奇数,剩下的是正偶数数列. #include<iostream> using namespace std; int T; ...
- Educational Codeforces Round 68 (Rated for Div. 2) C. From S To T (字符串处理)
C. From S To T time limit per test1 second memory limit per test256 megabytes inputstandard input ou ...
- Educational Codeforces Round 68 (Rated for Div. 2) D. 1-2-K Game (博弈, sg函数,规律)
D. 1-2-K Game time limit per test2 seconds memory limit per test256 megabytes inputstandard input ou ...
- Educational Codeforces Round 68 (Rated for Div. 2)D(SG函数打表,找规律)
#include<bits/stdc++.h>using namespace std;int sg[1007];int main(){ int t; cin>>t; while ...
随机推荐
- 对DataFrame的再理解
1.构造需要从字典构造 cds={'code':["002372.XSHE","002415.XSHE","002304.XSHE",&qu ...
- 51Nod1085 0-1背包(一维和二维数组实现)
背包是典型的动态规划问题,关于背包问题的详解,推荐博客:点击打开链接(这篇博客有点错误,代码for循环里错了,不过讲解 的很详细) 题目如下: 在N件物品取出若干件放在容量为W的背包里,每件物品的体积 ...
- css 居中布局方案
position(transform css3 有些浏览器不兼容) <article id="one"> <section id="section&q ...
- POJ - 3977 Subset(二分+折半枚举)
题意:有一个N(N <= 35)个数的集合,每个数的绝对值小于等于1015,找一个非空子集,使该子集中所有元素的和的绝对值最小,若有多个,则输出个数最小的那个. 分析: 1.将集合中的元素分成两 ...
- 18 12 14 python提高 装饰器
---恢复内容开始--- 装饰器还真的有些没看懂 一个任意传参的装饰器 一个通用装饰器 def set_func(func): print("------开始进行装饰") # ...
- 18 11 24 简单的http服务器
---恢复内容开始--- import socket def service_client(new_socket): """为这个客户端返回数据""& ...
- Java 接口理解
学习Spring有一段时间了,对java也有了一点了解,最不能理解的就是接口, 即使是写了接口并实现了它,依然无法理解它到底有什么用?看了其他几篇博客,总结了一下自己的理解. 在JAVA编程语言中是一 ...
- 程序员用 Python 扒出 B 站那些“惊为天人”的UP主!
前言 ! 近期B站的跨年晚会因其独特的创意席卷各大视频网站,给公司带来了极大的正面影响,股价也同时大涨,想必大家都在后悔没有早点买B站的股票: 然而今天我们要讨论的不是B站的跨年晚会,而是B站 ...
- Vue-router(5)之 路由的before家族
beforeEach方法 import Vue from 'vue' import Router from 'vue-router' import Son1 from '@/view/New/son1 ...
- [转]Log4j使用总结
Log4j使用总结 一.介绍 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务 器.NT的事件记录器. ...