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\)的字符串生成最小步数,。转移

  1. \(f_{j,i}=f_{j,i-1}(s_j==s_{j+i-1})\),因为这段字符串的第一个等于最后一个,所以他们有可能是在一起的,只用生成一次,中间再插入其他东西。

  2. \(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的更多相关文章

  1. 纪中集训2020.02.09【NOIP提高组】模拟B 组总结反思

    目录 JZOJ.1747[NOIP2014模拟11.5]无穷迷宫 比赛时 之后 总结 JZOJ1478.[NOIP2014模拟11.5]近似乘积 比赛时 之后 总结 JZOJ3926. [NOIP20 ...

  2. 纪中集训2020.02.03【NOIP提高组】模拟B 组总结反思——登机(board),游戏(game),分组(group)

    T1 JZOJ5535. 登机(board) 比赛时 一在题目列表里看到题目标题,就热血沸腾了,不知道为什么,老师居然放了一道之前做过的题目.我清楚地记得这题是DP,于是很快码了出来.讲一讲我的思路, ...

  3. 「中山纪中集训省选组D1T1」最大收益 贪心

    题目描述 给出\(N\)件单位时间任务,对于第\(i\)件任务,如果要完成该任务,需要占用\([S_i, T_i]\)间的某个时刻,且完成后会有\(V_i\)的收益.求最大收益. 澄清:一个时刻只能做 ...

  4. 纪中集训总结 && 新学期目标

    于是紧接着又发了第二篇. 关于这次去完纪中以后的感想,写完后总觉得少了些什么,因此就发一篇小目标集合来凑数补充一下吧. Part I:图论 这方面我去之前就是很有自信,事实证明像基础的最短路.生成树什 ...

  5. 纪中集训 Day 0?

    好吧昨天的等到今天才来写,现在超不想刷题,来写下blog吧= = 坐了近10H的火车终于来到了中山市 火车上在看空之境界,等有时间补下动画吧= = 到了宿舍各种不习惯(现在才发现还是母校好QAQ)然后 ...

  6. 纪中集训 Day 2

    今天(其实是昨天= =)早上起来发现好冷好冷啊= = 吃完饭就准备比赛了,好吧B组难度的题总有一道不知到怎么写QAQ 太弱了啊!!! 蒟蒻没人权啊QAQ 今天第4题不会写,在这里说说吧 题目的意思就是 ...

  7. 纪中集训 Day1

    今天早上起来吃饭,发现纪中伙食真的是太差了!!!什么都不热,早餐的面包还好,然后就迎来了美好的早晨= = 早上做一套题,T1T2果断秒,T3一看就是noi原题,还好看过题解会写,然后就愉快的码+Deb ...

  8. 【纪中集训】2019.08.02【NOIP提高组】模拟 A 组TJ

    \(\newcommand{\RNum}[1]{\uppercase\expandafter{\romannumeral #1\relax}}\) T1 一道可以暴力撵标算的题-- Descripti ...

  9. 纪中OJ 2019.02.15【NOIP提高组】模拟 B 组 梦回三国 比赛题解(第一个)

    声明 旁边的同学小 H(胡)对我说: “哟,比赛拿了 140,强!要知道,如果哥第三题 AC 了,哥就 230 了,你个废柴!!!(比赛实际分数 130 额呵)” 顿时,千万草泥马从我心中奔腾而过:你 ...

随机推荐

  1. Jumpserver:跳板机

    简介 jumpserver是github上的一个开源项目,其能有效的对服务器.用户进行分组,实现用户-系统用户-服务器的对应权限控制,并结合审计.日志等功能,据说是 4A 级的专业运维审计系统,系统提 ...

  2. ugligy 转

    3.配置gulpfile.js 3.1.基本使用 JavaScript 1 2 3 4 5 6 7 8 var gulp = require('gulp'),     uglify = require ...

  3. 动手学习Pytorch(6)--卷积神经网络基础

    卷积神经网络基础 本节我们介绍卷积神经网络的基础概念,主要是卷积层和池化层,并解释填充.步幅.输入通道和输出通道的含义.   二维卷积层 本节介绍的是最常见的二维卷积层,常用于处理图像数据.   二维 ...

  4. 手把手带你阅读Mybatis源码(一)构造篇

    前言 今天会给大家分享我们常用的持久层框架——MyBatis的工作原理和源码解析,后续会围绕Mybatis框架做一些比较深入的讲解,之后这部分内容会归置到公众号菜单栏:连载中…-框架分析中,欢迎探讨! ...

  5. 07-HTML&CSS

    今日知识 1. HTML表单标签 2. CSS 3.总结 表单标签 * 表单: * 概念:用于采集用户输入的数据的.用于和服务器进行交互. * form:用于定义表单的.可以定义一个范围,范围代表采集 ...

  6. mongodb搭建带auth的主从

    1:下载mongodb包(mongodb3.4的方法一样,就是mongodb内用户设置到时候不同用户对应不同库,验证时得先创建某个库到用户参考http://ibruce.info/2015/03/03 ...

  7. drf token刷新配置、认证组件(使用)、权限组件(使用)、频率组件(使用)、异常组件(使用)

    目录 一.特殊路由映射的请求 二.token刷新机制配置(了解) 三.认证组件项目使用:多方式登录 1.urls.py 路由 2.views.py 视图 3.serializers.py 序列化 4. ...

  8. 直接使用汇编编写 .NET Standard 库

    前言 Common Language Runtime(CLR)是一个很强大的运行时,它接收 Common Intermediate Language(CIL) 的输入并最终产生机器代码并执行.CIL ...

  9. 01、Git安装教程(windows)

    首先如下图:(点击next) 第二步:文件位置存储,可根据自己盘的情况安装 第三步:安装配置文件,自己需要的都选上,下一步 第四步:不创建启动文件夹,下一步: 第五步:选择默认的编辑器,我们直接用推荐 ...

  10. C语言:字符串拷贝(截取)、查找

    C语言:字符串拷贝(截取).查找 很惭愧,学了这么久别的语言,一直没有好好学C和C++,所以现在开始认真C/C++的一些特性和比较,这里记录下C语言拷贝和截取的一些方式,由于系统库带的函数不方便,所以 ...