Codeforces Round #177 (Div. 1 + Div. 2)
A. Polo the Penguin and Segments
- 模拟。
B. Polo the Penguin and Matrix
- 每个数字模d余数必须一样。
- 枚举结果,可计算操作次数,取最小。
C. Polo the Penguin and Strings
- ababab……cdef……
- 对于n、k分别为1时,需要特判。
D. Polo the Penguin and Houses
- 前k个暴力枚举,后n-k个每个可取个数为n-k。
E. Polo the Penguin and XOR operation
- 显然为了让结果尽量大,所以异或和应该和加法和接近。
- 观察样例可知,结果为n(n+1),所以可猜测对于任意的n可构造出异或和n(n+1)的序列,即异或不存在两个1相消。
- xjb证明:对于n来说,假设二进制最高位为p,则\(2^{p + 1} - 1 \oplus n\) 显然小于n;对于n-1来说(假设二进制最高位不变),\(2^{p+1}-1 \oplus n - 1\)会大于\(2^{p+1} - 1 \oplus n\)。也就是\([2^{p + 1}-1 \oplus n, n]\)构成一个我们要的区间,而\([1,2^{p + 1}-1 \oplus n)\)则变成一个子问题。
D. Polo the Penguin and Trees
- 考虑每个点的贡献,把一个点挖掉后会形成若干棵子树,对于每个子树内的路径与经过当前点的路径必然不相交。
E. Polo the Penguin and Lucky Numbers
- 因为\(l,r\)没有前导0,即最后的幸运数字长度均为\(|l|,|r|\)。
- 将问题看成求\([1,n]\)内\(a_1a_2+a_2a_3+…+a_{n-1}a_n\)的值。
- 长度为1时,幸运数字有4,7;
- 长度为2时,幸运数字有44,47,74,77;
- 记长度为\(l\)时,幸运数字有\(a_{1}^{l},a_{2}^{l},…,a_{n}^{l}\),那么长度为\(l+1\)时,新的幸运数字为\(\overline{a_{1}^{l}4},\overline{a_{1}^{l}7},\overline{a_{2}^{l}4},\overline{a_{2}^{l}7}…,\overline{a_{n}^{l}4},\overline{a_{n}^{l}7}\)。此时是不考虑有上界的情况,有上界的情况时,最大值是前缀,且添加4、7时要根据下一位的值考虑,下一位是4时,最大值只能加4得到新的幸运数字,下一位是7时则相当于没有限制。
- 假设\(F_i=\sum_{i=1}^{K_i-1}{a_ia_{i+1}}\),\(K_i\)表示幸运数字的个数。
- 当\(时s_{i+1}=4时\)\[F_{i+1}=\sum_{i=1}^{K_{i+1}-1}{A_iA_{i+1}}\\=\sum_{i=1}^{K_i-1}{\overline{a_i4}\cdot\overline{a_i7}}+\sum_{i=1}^{K_i-1}{\overline{a_i7}\cdot\overline{a_{i+1}4}}\\=\sum_{i=1}^{K_i-1}{(100a_i^2+110a_i+28)}+\sum_{i=1}^{K_i-1}{(100a_ia_{i+1}+40a_i+70a_{i+1}+28)}\\=100\sum_{i=1}^{K_i-1}{a_ia_{i+1}}+100\sum_{i=1}^{K_i-1}{a_i^2}+220\sum_{i=1}^{K_i-1}{a_i}+70(a_{K_i}-a_1)+56(K_i-1)\]
- 当\(s_{i+1}=7\)时,只需要加上\(\overline{a_{K_i}7}\)这项即可。
- 为了得到\(F_i\),需要维护和、平方和,两个值推导与上面的类似。
Codeforces Round #177 (Div. 1 + Div. 2)的更多相关文章
- Codeforces Round #177 (Div. 1) 题解【ABCD】
Codeforces Round #177 (Div. 1) A. Polo the Penguin and Strings 题意 让你构造一个长度为n的串,且里面恰好包含k个不同字符,让你构造的字符 ...
- Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship
Problem Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship Time Limit: 2000 mSec P ...
- Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems(动态规划+矩阵快速幂)
Problem Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems Time Limit: 3000 mSec P ...
- Educational Codeforces Round 43 (Rated for Div. 2)
Educational Codeforces Round 43 (Rated for Div. 2) https://codeforces.com/contest/976 A #include< ...
- Educational Codeforces Round 35 (Rated for Div. 2)
Educational Codeforces Round 35 (Rated for Div. 2) https://codeforces.com/contest/911 A 模拟 #include& ...
- Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings
Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings 题目连接: http://cod ...
- Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes
Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes 题目连接: http://code ...
- Educational Codeforces Round 63 (Rated for Div. 2) 题解
Educational Codeforces Round 63 (Rated for Div. 2)题解 题目链接 A. Reverse a Substring 给出一个字符串,现在可以对这个字符串进 ...
- Educational Codeforces Round 39 (Rated for Div. 2) G
Educational Codeforces Round 39 (Rated for Div. 2) G 题意: 给一个序列\(a_i(1 <= a_i <= 10^{9}),2 < ...
- Educational Codeforces Round 48 (Rated for Div. 2) CD题解
Educational Codeforces Round 48 (Rated for Div. 2) C. Vasya And The Mushrooms 题目链接:https://codeforce ...
随机推荐
- 模拟退火解TSP问题MATLAB代码
分别把前四个函数存成m文件,再运行最后一个. swap.m function [ newpath , position ] = swap( oldpath , number ) % 对 oldpath ...
- Lambada. 计算和
Lambada. 计算和 import java.util.Arrays; import java.util.List; public class ListLambada { public stati ...
- 2018-12-27-WPF-从文件创建图片的方法
title author date CreateTime categories WPF 从文件创建图片的方法 lindexi 2018-12-27 11:37:46 +0800 2018-12-27 ...
- C++ int与string的互转
int本身也要用一串字符表示,前后没有双引号,告诉编译器把它当作一个数解释.缺省情况下,是当成10进制(dec)来解释,如果想用8进制,16进制,怎么办?加上前缀,告诉编译器按照不同进制去解释.8进制 ...
- 记一次goland的包导入问题
昨天把go的GOPATH环境变量设置成了“/home/mi/app/gopath”,今天用goland新建的项目在/home/mi/go/src目录下,名字是studygolang,如下图. 结果导入 ...
- SQLServer —— datediff 函数计算俩个日期差
- html(),val(),text()的区别
.html(),.text(),.val() 三种方法都是用来读取选定元素的内容: .html()是用来读取元素的HTML内容(包括其Html标签): .text()用来读取元素的纯文本内 容,包括其 ...
- Directx11教程(18) D3D11管线(7)
原文:Directx11教程(18) D3D11管线(7) 光栅化阶段(RS)之后,将进入PS/OM阶段. 参考外文资料:http://fgiesen.wordpress.com/2011/07/01 ...
- Ubuntu官方源
由于国内使用官方源导致下载速度慢等各方面原因,很多人将官方源替换成阿里源等,但是某些应用安装会报错.现将官方源分享如下: 备份当前源: 执行命令:# sudo cp /etc/apt/sources. ...
- 小爬爬5:重点回顾&&移动端数据爬取1
1. ()什么是selenium - 基于浏览器自动化的一个模块 ()在爬虫中为什么使用selenium及其和爬虫之间的关联 - 可以便捷的获取动态加载的数据 - 实现模拟登陆 ()列举常见的sele ...