首页 > TAG信息列表 > ansl
Acwing_4394 最长连续子序列
题目来自:https://www.acwing.com/problem/content/4397/ 笔者做的时候想着能不能去动态调整记录表,但最终的简化策略其实是往维护双指针区间上面靠的,以下是答案代码; 循环再动态维护一个从l到r的区间,将移动过的地方取消标记并判断是否产生 异值 数量的变化,对于向右的拓展也是LeetCode76 最小覆盖子串
滑动窗口+map 设定左右双指针,若滑动窗口内不包含t中所有的字符则右指针右移,若包含t所有字符则左指针右移同时更新最小值和对应边界直到不包含所有的,以此循环直到s的最后 时间复杂度:O(C*m+n),m为s的长度 空间复杂度:O(C),C为t的长度 class Solution { Map<Character,Integer> needBracket Sequence CodeForces - 223A
原题链接 考察:栈,模拟 模拟栈匹配,不匹配的留入栈里.然后栈里都是不匹配的坐标,相邻之间都是匹配的. #include <iostream> #include <cstring> using namespace std; const int N = 100010; char s[N],res[N]; int match[N],top,stk[N],sum[N]; int main() { scanf("%s",s+1poj 1665(水题,简单计算)
#include<iostream> #include<cstdio> using namespace std; #define PI 3.1415927 int main(){ double d,r,t,ansl,ansspd; int kase = 1; while(scanf("%lf%lf%lf",&d,&r,&t)==3&&r!=0){ ansl = PI*d*r/12/5题解 Luogu UVA1619
UVA1619 感觉不错 Feel Good 预处理+DP \(O(n)\) 。 我们记: n 为数列的长度 \(a_i\) 表示数列的第 i 号元素 \(l_i\) 表示从第 i 号元素向左最多延伸到哪里(使得 \(a_i\) 始终是 \(\min_{j=l_i}^{i} a_j\)) \(r_i\) 表示从第 i 号元素向右最多延伸到哪里(使得 \(a_i\) 始终是 \(\mi[IOI2020]嘉年华奖券
洛谷传送门 这题的主要算法我确实想不出来……不愧是IOI的题。 首先假如把一轮游戏的\(a_i\)从小到大排序,那么奖励数额\(x_i=\sum_{i=\frac{n}{2}+1} ^ {n}a_i - \sum _ {i = 1} ^ {\frac{n}{2}}a_i\). 然后我们要求的就是\(\sum_{i = 1} ^ {k}x_i\)的最大值。 正解确实很难想,先