纪中集训2020.02.05【NOIP提高组】模拟B 组总结反思——【佛山市选2010】组合数计算,生成字符串 PPMM
JZOJ2290. 【佛山市选2010】组合数计算
比赛时
一看到数学题就有一种厌倦感。不论如何,还是仔细思考吧,按照公式的直接求法显然时间会爆(听同学说有一种快速求阶乘的方法,但是对于这题肯定要高精度,太麻烦了)。间接入手,杨辉三角???时间复杂度和空间复杂度均为\(O(n^2)\),显然不行。有没有快速求组合数的方法呢,显然我除了杨辉三角一个都没有学。于是我开始找杨辉三角的其他规律——一无所获,大数学家都不能找到,蒟蒻的我肯定找不到。突然蹦出一个奇妙的想法,杨辉三角+暴力,因为题目保证答案在64位无符号整数取值范围内,于是便输出了一下杨辉三角,发现当n很大以后(\(\geq 1000\)左右),答案很大,几乎当\(m>20\)时,全都爆表了,于是我预处理\(n \leq 2000\)的组合数,其他暴力算,加了一点点小优化,比如说n=5,m=2。c(5,2)=(54)/(21),那么我们再算54的过程中,如果除21中的某个数没有余数就除,再标记一下除过了。另外,记得输出用%llu。骗了50分!!!
之后
有一个变态的数据——\(n=0,m=0\)特殊判断一下。我比赛时脑子卡壳,居然忘记加上\(if(n-m<m),m=n-m\)。一顿改良之后,骗了AC100!!!。正解——lucas,自闭改题中。
JZOJ2291. 【佛山市选2010】生成字符串
比赛时
我猜想是贪心或者DP,一下子想不出来,果断弃疗。我最不擅长这种区间DP。
之后
首先,简化题目,把相邻的相同的多个字符合成一个。设\(s\)表示合并之后的字符数组,\(f_{j,i}\)表示从第\(j\)个字符开始长度为\(i\)的字符串生成最小步数,。转移
\(f_{j,i}=f_{j,i-1}(s_j==s_{j+i-1})\),因为这段字符串的第一个等于最后一个,所以他们有可能是在一起的,只用生成一次,中间再插入其他东西。
\(f_{j,i}=min(f_{j,i},f_{j,k-j+1}+f_{k+1,(j-i+1)-(k+1)+1})(无条件)\),这个很容易理解吧,劈成两半。
总结
遇到一些题目时,可以尝试简化题目。另外,我得加强一下我的区间DP了。
JZOJ2292. PPMM
比赛时
题目写着\(-231<x<231\),于是打了个权值线段树,因为有了取反的操作,所以如果不真的进行取反,答案就是要么取最大(取反次数为偶数时),要么取最小 (取反次数为奇数时),加入的时候如果取反次数为奇数,对加入的数取反即可,线段树维护最大和最小。想着能AC,结果10分。
之后
题目出错了!!!\(-2^{31}<x<2^{31}\),实际是这样的,坑人呀!!!我想了一个方法——两个堆,一个大根,一个小根,跟之前的线段树思想差不多,但是删除上会遇到麻烦,因为要知道它在堆中的位置。正解——单调队列,插入排序的思想,感觉这个时间复杂度太玄学了!!!自己的想法(虽然不想打)——离散化+权值线段树。
纪中集训2020.02.05【NOIP提高组】模拟B 组总结反思——【佛山市选2010】组合数计算,生成字符串 PPMM的更多相关文章
- 纪中集训2020.02.09【NOIP提高组】模拟B 组总结反思
目录 JZOJ.1747[NOIP2014模拟11.5]无穷迷宫 比赛时 之后 总结 JZOJ1478.[NOIP2014模拟11.5]近似乘积 比赛时 之后 总结 JZOJ3926. [NOIP20 ...
- 纪中集训2020.02.03【NOIP提高组】模拟B 组总结反思——登机(board),游戏(game),分组(group)
T1 JZOJ5535. 登机(board) 比赛时 一在题目列表里看到题目标题,就热血沸腾了,不知道为什么,老师居然放了一道之前做过的题目.我清楚地记得这题是DP,于是很快码了出来.讲一讲我的思路, ...
- 「中山纪中集训省选组D1T1」最大收益 贪心
题目描述 给出\(N\)件单位时间任务,对于第\(i\)件任务,如果要完成该任务,需要占用\([S_i, T_i]\)间的某个时刻,且完成后会有\(V_i\)的收益.求最大收益. 澄清:一个时刻只能做 ...
- 纪中集训总结 && 新学期目标
于是紧接着又发了第二篇. 关于这次去完纪中以后的感想,写完后总觉得少了些什么,因此就发一篇小目标集合来凑数补充一下吧. Part I:图论 这方面我去之前就是很有自信,事实证明像基础的最短路.生成树什 ...
- 纪中集训 Day 0?
好吧昨天的等到今天才来写,现在超不想刷题,来写下blog吧= = 坐了近10H的火车终于来到了中山市 火车上在看空之境界,等有时间补下动画吧= = 到了宿舍各种不习惯(现在才发现还是母校好QAQ)然后 ...
- 纪中集训 Day 2
今天(其实是昨天= =)早上起来发现好冷好冷啊= = 吃完饭就准备比赛了,好吧B组难度的题总有一道不知到怎么写QAQ 太弱了啊!!! 蒟蒻没人权啊QAQ 今天第4题不会写,在这里说说吧 题目的意思就是 ...
- 纪中集训 Day1
今天早上起来吃饭,发现纪中伙食真的是太差了!!!什么都不热,早餐的面包还好,然后就迎来了美好的早晨= = 早上做一套题,T1T2果断秒,T3一看就是noi原题,还好看过题解会写,然后就愉快的码+Deb ...
- 【纪中集训】2019.08.02【NOIP提高组】模拟 A 组TJ
\(\newcommand{\RNum}[1]{\uppercase\expandafter{\romannumeral #1\relax}}\) T1 一道可以暴力撵标算的题-- Descripti ...
- 纪中OJ 2019.02.15【NOIP提高组】模拟 B 组 梦回三国 比赛题解(第一个)
声明 旁边的同学小 H(胡)对我说: “哟,比赛拿了 140,强!要知道,如果哥第三题 AC 了,哥就 230 了,你个废柴!!!(比赛实际分数 130 额呵)” 顿时,千万草泥马从我心中奔腾而过:你 ...
随机推荐
- java9String类简单了解
public class jh_01_String类简单了解 { public static void main(String[] args) { /* * 函数:完成特定功能的代码块. * next ...
- Python趣味入门02: 妥妥地安装配置Python(Windows版)
< 上一篇:Python趣味入门01:你真的了解Python么? 本篇内容手把手教您如何去网上下载安装Python的运行环境,本文写于2020年Python稳定的版本是3.8,Windows流行 ...
- 安利自己写的easy-clipboard库
概述 clipboard.js 是一个非常好用的剪切板插件,但是随着前端框架的演变,用户与网页交互的方式越来越多,不仅限于点击事件了,并且在很多情况下,我们可能不需要它强制性自带的点击事件,所以我打算 ...
- [Linux-CentOS7]yum清华源CentOS7
shell直接运行 cat > 01.yumrepo.sh << 'EOF' # 创建备份路径 mkdir -p /etc/yum.repos.d/repo.bak/ # 备份源 m ...
- [PowerShell]Windows服务开启、重启、关闭
# 获取服务信息 PS C:\Users\Administrator> Get-Service win* Status Name DisplayName ------ ---- -------- ...
- gcd综合
问题: 如果正整数大于了1000有什么影响? 1.递推式gcd: int gcd(int a,int b) { ) { int c=a%b; a=b; b=c; } return a; } 2.递归式 ...
- Python爬虫beautifulsoup4常用的解析方法总结(新手必看)
今天小编就为大家分享一篇关于Python爬虫beautifulsoup4常用的解析方法总结,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧摘要 如何用beau ...
- redis中hash数据类型
remoteSelf:1>hset website google "www.google.com" "1" remoteSelf:1>hget we ...
- POJ - 1426-Find The Multiple-专为小白解惑-同余加搜索树
题意:给出一个整数n,(1 <= n <= 200).求出任意一个它的倍数m,要求m必须只由十进制的'0'或'1'组成,m不超过100位. 解题思路:首先大家应该会想到暴力枚举每一个m,但 ...
- 就不能换DB吗? 抽象工厂模式
15.1 就不能换DB吗? 15.2 最基本的数据访问程序 namespace 抽象工厂模式 { class Program { static void Main(string[] args) { U ...