首页 > TAG信息列表 > POI2009

21.11.12模拟 P3486 [POI2009]KON-Ticket Inspector

看到数据,显然很可能是\(n^2k\)的暴力DP,题目要求查询不同的人,就是个二维前缀和的过程。加入在i站查,上次查是j站,那么就是在j+1 ~ i上站,i+1 ~ n下站的人数,二维前缀和即可 注意,第i站是先下车再查询, \[f[i][k]表示第i站查第k次的最大价值, \\ f[i][k]=max(f[j][k-1]+val), 0 \le j < i

[POI2009]ARC-Architects

[POI2009]ARC-Architects 题意:给定一个序列,从中挑选k个数,满足下标单调递增,并且字典序最小; 思路:由于字典序最小,所以考虑贪心,即前面的数尽可能大,所以用单调队列维护最大值; 细节:注意单调队列对头应该是上次选的数的下一个数,另外要满足k个数,所一直以维护队尾; 因为是交互题,注意变量名重

【BZOJ1142】[POI2009] Tab(这道SB题居然卡常)

点此看题面 大致题意: 给定两个\(n\times m\)的矩阵,保证同个矩阵中元素两两不同,问能否交换若干次行和列由第一个矩阵得到第二个矩阵。 前言 \(SB\)题,本来只想水一水,结果被BZOJ卡常了。 好不容易卡过,一怒之下就来水篇博客发泄一下。 以下是我的提交记录: 洛谷:\(AC\)(这种\(SB\)题,随便

luogu 3488 [POI2009]LYZ-Ice Skates 线段树 + 思维

Code:  #include <bits/stdc++.h>#define setIO(s) freopen(s".in","r",stdin), freopen(s".out","w",stdout) #define maxn 1000000 #define ll long long #define lson (now<<1) #define rson ((now<<1

bzoj1142:[POI2009]Tab

传送门 考虑每次交换都不会改变每个数所在的行和列(不是指编号,而是指和它在同一行或者同一列的数不会发生变化) 由于每个数互不相同,所以记录下每个数所在的行和列,暴力判断就好了 代码: #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> using namespace st

BZOJ 1135 [POI2009]Lyz (Hall 定理)

BZOJ 1135 [POI2009]Lyz (Hall 定理) 神仙题。 乍一看是二分图匹配的裸题。 但是范围特别大。 考虑用\(Hall\)定理来做。 有一个神仙结论: 假设\(a_i\)是i号鞋的人,则只要任意的\([l,r]\)满足\(\sum_{i = l}^r a_i >=(r - l + 1 + d)*k\)就可以。 转换一下式子成为: \(\sum_{i=l}^r(a_