zoukankan
html css js c++ java
[训练日志] 7月15日,7月16日
7月15日
132D
[给一个二进制数,如何用最少的
+2^x与
-2^x表示
]
[观察到有两种方法。一种是直接用
+2^x补。另一种对于
L-R的区间,用
+2^(L+1)与
-2^R以及若干个
-2^x表示,
x是
0的位置。注意到第二种方法是作用于头尾都是
1的连续一段,且中间不含
00(如果有
则可劈成两段
),然后把原串分成若干段分别贪心
]
[一开始往补码的方向考虑了,不太好
DP。思考问题应该先从基本方法出发,不要优先考虑一些奇技淫巧
]
392B
[汉诺塔,
g[x][y]表示从
x柱移到
y柱的代价。求
1挪到
3的最小代价
]
[f[k][x][y]
表示将k
层从x
柱移到y
柱最小代价。f[k][x][y]=min(f[k-1][x][z]+g[x][y]+f[k-1][z][y], f[k][x][y],f[k-1][x][y]+f[k-1][y][x]+g[x][z]+g[z][y]+f[k-1][x][y])]
632E
[给
n种物品,无限多,每周物品有一个代价
a[i]。求恰好选
m个物品,有多少种代价的可能性
]
[将
a从小到大排序。每一种组合都可以减掉
m*a[1]。这样考虑
i>=2,另
b[i]=a[i]-a[1]。做
b的完全背包,这样
<m的部分可以用
a[1]补上。最后答案再把
m*a[1]加上即可
]
696D
[给你
m个串每个串有一个收益。让你构造一个长度为
n的串,如果再串中出现一次给定的串就获得一次对应的收益,求最大收益
]
[
首先刻画状态需要ac
自动机,把ac
自动机的节点看出状态。有f[i][x]=max(f[i-1][y]+value[y][x])
。将+
看出max
,*
看成+
,即可运用矩阵乘法优化。]
[Tips:
该技巧运用max_plus
理论]
7月16日
复习概率与期望,复习线性代数。
学习max_plus理论。
查看全文
相关阅读:
POJ 3468 线段树 成段更新 懒惰标记
hdu 1717
3个技巧让你正能量满满
this指针基础介绍
数组指针和指针数组的区别
for循环的执行顺序
读取文本文件里的数字求平均值
break与continue的区别
谈谈 静坐
医生告诉我们的常识.读完它吧,你会一生受益
原文地址:https://www.cnblogs.com/jszkc/p/7193341.html
最新文章
GNOME界面简单使用
安装Linux_[CentOS]系统
[条款36]绝不重新定义继承而来的non-virtual函数
[C#参考]事件和委托的关系
Joel在耶鲁大学的演讲
[C#参考]字符编码
[C#参考]委托机制
C函数调用与栈--代码真相
C函数调用与栈
C++中(int&)和(int)的区别
热门文章
C++的常量折叠(三)
C++的常量折叠(二)
poj 3083 dfs,bfs
【黑科技】读写优化 orz bdd
hdu 4960 记忆化搜索 DP
hdu 4965 矩阵快速幂 矩阵相乘性质
hdu 4961 数论 o(nlogn)
CodeForces 438D 线段树 剪枝
HDU 3853 概率dp
zoj 2081 BFS 延迟标记 读入问题
Copyright © 2011-2022 走看看