codechef MAY18 div2 部分题解
T1
https://www.codechef.com/MAY18B/problems/RD19
刚开始zz了,其实很简单。
删除一个数不会使gcd变小,于是就只有0/1两种情况
T2
https://www.codechef.com/MAY18B/problems/XORAGN
我们可以把B序列看做一个矩阵
那么$A(i,j)$和$A(j,i)$会抵消掉
因此答案就是$\sum_1^n A(i,i) + A(i,i)$
T3
https://www.codechef.com/MAY18B/problems/MTYFRI
答案的序列是固定的,因此后手会把自己最小的换做对手最大的,
贪心求解,两个堆维护最小最大值
T4
https://www.codechef.com/MAY18B/problems/DBFB
按照套路,考虑A,B对答案的贡献,A只可能作为第一项,B只可能作为第二项。
统计出斐波那契数列中A,B的出现次数
A,B会被枚举M次,因此答案最后乘M
T5
很有思维量的一道题
首先,对于每个数,它能够被枚举到的顺序是一定的
根据题目不难得出,它所在序列的各个值应该是单调递增的。
那么我们可以把序列求出来,对于这个点,从它左边比它大的个数和它右边比它小的元素个数里面取max
-1的情况需要特判
T6
很有思维量的一道题,前前后后做了3天才A掉
刚开始zbq想了一个三维dp,应该可以做已AC,但是太麻烦了好像也不是很麻烦
考虑每个数,当且仅当它左边右边都比它大时才能转移
这样我们用$f[i]$表示一定选$i$时的最优答案,转移的时候枚举前面的点
这样看似是$O(n^2)$的,但是很显然,答案序列的函数图像中大多数都是单调递增的
因此我们只要往前枚举一部分就好,亲测1000可过
目前rank
顺便Orz zbq
codechef MAY18 div2 部分题解的更多相关文章
- Codechef Not a Triangle题解
找出一个数组中的三个数,三个数不能组成三角形. 三个数不能组成三角形的条件是:a + b < c 两边和小于第三边. 这个问题属于三个数的组合问题了.暴力法可解,可是时间效率就是O(n*n*n) ...
- 「CF#554 div2」题解
A 水题一道. 题目的大致意思就是:给你两个集合,求集合间有多少数对和是奇数. 题解,开\(4\)个桶后,求一个\(min\)就可以了. #include <bits/stdc++.h> ...
- Codeforces Round div2 #541 题解
codeforces Round #541 abstract: I构造题可能代码简单证明很难 II拓扑排序 III并查集 启发式排序,带链表 IV dp 处理字符串递推问题 V 数据结构巧用:于二叉树 ...
- CodeChef March Challenge 2019题解
传送门 \(CHNUM\) 显然正数一组,负数一组 for(int T=read();T;--T){ n=read(),c=d=0; fp(i,1,n)x=read(),x>0?++c:++d; ...
- codeforces #236 div2 简洁题解
A:A. Nuts time limit per test 1 second memory limit per test 256 megabytes input standard input outp ...
- codechef Jewels and Stones 题解
Soma is a fashionable girl. She absolutely loves shiny stones that she can put on as jewellery acces ...
- CodeChef April Challenge 2019题解
传送门 \(Maximum\ Remaining\) 对于两个数\(a,b\),如果\(a=b\)没贡献,所以不妨假设\(a<b\),有\(a\%b=a\),而\(b\%a<a\).综上, ...
- codeforces 576 div2 A-D题解
A题 Description 题目链接: https://codeforces.com/contest/1199/problem/A 题意: 给定长度为n(1≤n≤100000)的一个序列a,以及两个 ...
- CCPC Wannafly Winter Camp Div2 部分题解
Day 1, Div 2, Prob. B - 吃豆豆 题目大意 wls有一个\(n\)行\(m\)列的棋盘,对于第\(i\)行第\(j\)列的格子,每过\(T[i][j]\)秒会在上面出现一个糖果, ...
随机推荐
- stress工具使用指南和结果分析
stress介绍 #stress `stress' imposes certain types of compute stress on your system Usage: stress [OPTI ...
- 1.Linux入门介绍
1.1 Linux概述 1.1.1 Linux简要介绍 Linux的由来: Linux的内核最初是由芬兰人李纳斯·托瓦茨在上大学的时候编写的一个内核,它是基于Unix操作系统编写的 大多服务器使用的是 ...
- Ubuntu网卡设置:配置/etc/netplan
对于Ubuntu1804版本,经过测试如下配置可以设置静态IP地址: Google@ubuntu:~$ cat /etc/netplan/01-netcfg.yaml network: etherne ...
- BZOJ 1617 Usaco 2008 Mar. River Crossing渡河问题
[题解] 显然是个DP题. 设$f[i]$表示送$i$头牛过河所需的最短时间,预处理出$t[i]$表示一次性送i头牛过河所需时间,那么我们可以得到转移方程:$f[i]=min(f[i],f[i-j]+ ...
- 【Codeforces 340D】Bubble Sort Graph
[链接] 我是链接,点我呀:) [题意] 让你根据冒泡排序的规则 建立一张图 问你这张图的最大独立子集的大小 [题解] 考虑a[i]会和哪些点连边? 必然是在a[i]左边且比它大的数字以及在a[i]右 ...
- [TS-A1487][2013中国国家集训队第二次作业]分配游戏[二分]
根据题意,设$3n$次比较中胜了$w$次,负了$l$次,平了$d$次,所有场次中胜了$W$次,负了$L$次,平了$D$次.如果一场赢了,那么$w-l$就会$+1$,相同地,$W-L$也会$+1$:如果 ...
- Findbug插件静态java代码扫描工具使用
本文转自http://blog.csdn.net/gaofuqi/article/details/22679609 感谢作者 FindBugs 是由马里兰大学提供的一款开源 Java静态代码分析工具. ...
- Oracle 11g OEM登录后提示“出现内部错误”
使用oem登录时提示:“出现内部错误.有关详细信息, 请查看日志文件”. 具体原因未知,发现使用SQL Plus登录一次之后,再次登录即可.
- 逆波兰法求解数学表达示(C++)
主要是栈的应用,里面有两个函数deleteSpace(),stringToDouble()在我还有一篇博客其中:对string的一些扩展函数. 本程序仅仅是主要的功能实现,没有差错控制. #inclu ...
- Oracle GoldenGate从oracle db 到非oracle db的初始化数据同步的方法
非oracle db以 sqlserver为样例说明: 我的思路 A :oracle db 生产 B: oracle db 中间机 C: sqlserver db 目的端 A-> B-> ...