博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ZLXOI2015Day1劣质题解
阅读量:5462 次
发布时间:2019-06-15

本文共 862 字,大约阅读时间需要 2 分钟。

虐狗大赛:本来想让搞线段树和差分序列,结果数据太水暴力都能过算了反正第一题就简单点吧观察到询问很少,所以我们只需简化修改的时间复杂度用另一棵线段树维护每个单身狗受攻击的次数把减少攻击等价于增加生命即可,设次数为di,攻击为Ai,防御为Bi则答案为Ai-Bi*di,这样做单次修改复杂度O(logn)同时也由于询问很少,可以用差分序列代替线段树,单次时间复杂度O(1)殉国://分数为未加强数据前题目大意:Ax+By=C,x>=0,y>=0,求x+y最大值,x+y最小值x,y的解得个数暴力算法1:枚举x,y更新O(N^2)20分暴力算法2:枚举x,测试y是否符合情况,O(N) 40分-100分(原谅我数据太水)很明显的扩展欧几里得令gcd(A,B)=D;Ax+By=C满足有解的必要条件是C mod D = 0我们先解方程Ax+By=gcd(A,B),得到该方程一组解(p',q’)乘以C/D即为原方程的一组解(p0,q0)则任何(p,q)满足p = p0 +B/D *tq = q0–A/D *t(其中t为任意整数)都为原方程的解我们解不等式p>=0&&q>=0得到关于t的一个区间[l,r](注意不等式的向下取整和向上取整)则通解个数显然为r-l+1最小最大解一定分别在l,r处取得(因为是线性方程)时间复杂度O(logN)加强数据后,最优的枚举只能50分 扩展欧几里得+枚举+优化=65-85分 题解做法:100分燃灵之链:K子序列最大和,由NOIP初赛的双子序列最大和改编而来20分算法:O(2^n)的暴搜70分算法:设状态f[i][k]表示前i个点含有k个子序列的最大值。考虑动规:设si=a1+a2+……ai则显然if(j!=i-1)f[i][k]=max(f[i][k],f[j][k-1]+s[i]-s[j+1]);(不相邻,开创一个新序列)f[i][k]=max(f[i][k],f[j][k]);(j

 

转载于:https://www.cnblogs.com/Satoshi/p/4919978.html

你可能感兴趣的文章
Unity3D_(Shuriken粒子系统)制作简单的烟花爆炸效果
查看>>
3. Longest Substring Without Repeating Characters
查看>>
织梦添加搜索功能
查看>>
JDK的安装和环境变量配置
查看>>
jmeter学习记录--05--Beanshell2
查看>>
HDU1402 HDU4609 FFT快速DFT
查看>>
DataGridView添加一行数据、全选、取消全选、清空数据、删除选中行
查看>>
抽象工厂模式
查看>>
数据库连接数使用情况监控
查看>>
<java基础学习>02JAVA的基础组成
查看>>
共享路径
查看>>
【动态语言和静态语言】动态语言和静态语言的认识,定义
查看>>
如何实现Android欢迎页
查看>>
Java 解析chm文件实战(原创)
查看>>
(HttpMessageNotWritableException ) No converter found for return value of type xxxx
查看>>
个人工作总结18
查看>>
yui cookie Dynamically Change Text Size Using Javascript 动态设置字体大小,写入Cookie
查看>>
csharp:DataRelation 对象访问相关数据表中的记录
查看>>
shell 括号用法介绍
查看>>
ContentType 属性 MIME
查看>>