摘要:
我在考试的时候看到了这道题,在一瞬间就蒙逼了,这是什么题?(请原谅我$-250$的智商)于是懵里懵懂的打了个$d$(电)\(f\)(风)\(s\)(扇),结果连样例都没有过。(毕竟才学搜索没多久嘛,也就两年)。再一看,看出了田忌赛马的味道,原来是这样!立刻打了个贪心信心满满的交上去。 #includ 阅读全文
摘要:
题面传送门 说实话,在做这道题的时候真的没想到$dp$(因为不怎么会),想到贪心,递推什么的。后来一看,$O(vn)$差不多的复杂度,于是写了个$dp$。打了个板子,额......,居然$RE$了!不知道是板子错了还是打挂了!考试时只得了$70$分。 #include<cstdio> using n 阅读全文
摘要:
题面传送门 这道题真是个裸题呀,裸的$floyd$加一点点小优化居然还是绿题,真不知道$\times\times\times$是怎么想的。 上代码: #include<bits/stdc++.h>//头文件不解释(那前面的是什么?) using namespace std; int n,m,k,z[ 阅读全文
摘要:
题面传送门 其实这道题是贪心+模拟。 如果这道题连搜索都没过的,看看江风扬的题解吧。 好!开始进入正题。 先给你们一段代码: #include<cstdio> #define maxn 30 using namespace std; int n, a[maxn], ans = 2147483647, 阅读全文
摘要:
题面传送门 算法简介: 分块主要是一个修改,维护区间的东西,它可以做到一边修改一边查询,区间修改 \(O(sqrt(n))\), 区间查询 \(O(sqrt(n))\),单点修改$ O(1)\(,单点查询\) O(1)$。 算法实现: 初始化:首先要把基本数组(以下简称 \(a\) 数组,长度为$n 阅读全文
摘要:
题面传送门 看到这道题,暴力应该是很好打的,爆搜出放一件物品前要拿走多少,然后就记忆化出$dp$了:设$f_{i,j}$为放到第$i$个物品,锅内加上当前还有$j$件物品的最大总和,那么状态转移方程应该是$f_{i,j}=max(f_{i,k}+a_i*j)$,其中$k$表示没有拿走$<s$件物品时 阅读全文