loj2734「JOISC 2016 Day 2」女装大佬 || 洛谷P3615 如厕计划
http://218.5.5.242:9021/problem/185
不会做...
题解(来自ditoly):

这一步更详细的解释(来自kkksc03):
还是从后面推。我们把女性设为+1,男性设为-1,然后从队伍末尾开始开始计算后缀和。一但后缀和到了-2,就说明到了两个男的商量谁去女厕的地步。所以说只要保证后缀和一直大于等于-1,那么这个就一定可以在N分钟内解决(请读者自行证明,利用数学归纳法)
F>=M-1,M<=F+1
S=F+M>=2M-1
<=2F+1
F>=(S-1)/2
S:F>=[S/2]
小串长度L,复读次数X
F在小串中的位置:A[1..6]从小到大
之前有a名女性,b个位置
第1遍
a+1,b+L-A[6]+1,2a+2,2a+2-(b+L-A[6]+1)
a+2,b+L-A[5]+1,2a+4,2a+4-(b+L-A[5]+1)
...
a+6,b+L-A[1]+1,2a+12
第k遍复读
a+6k-5,b+Lk-A[6]+1,2a+12k-10,2a+12k-10-(b+Lk-A[6]+1)
2a-10-b+A[6]-1+(12-L)k
12=2a
2a-L>0 -->
2(a+F)-(b+Lk-pos+1)
a+N(k-1)+F,b+Lk-pos,2a+2N(k-1)+2F,
(2N-L)k+2a-2N+2F-b+pos
a+N(k-1)+F,b+Lk-pos,2a+2N(k-1)+2F,
2a+(2N-L)k-2N+2F-b+j
a=0,b=2
k,k+2,k-2

#include<cstdio>
#include<algorithm>
#include<cstring>
#include<vector>
using namespace std;
#define fi first
#define se second
#define mp make_pair
#define pb push_back
typedef long long ll;
typedef unsigned long long ull;
ll n,m;
char dattt[],*st=dattt,*s[];
ll len[],x[],anss;
int main()
{
ll i,j,a=,b=,N,F,tt;
scanf("%lld",&n);
scanf("%lld",&m);
for(i=;i<=m;++i)
{
s[i]=st;
scanf("%s%lld",st,x+i);
len[i]=strlen(st);
st+=len[i]+;
}
tt=;
for(i=;i<=m;++i)
{
F=;
for(j=;j<len[i];++j)
F+=s[i][j]=='F';
tt+=F*x[i];
}
if(tt<n)
{
puts("-1");
return ;
}
for(i=m;i>=;--i)
{
F=;N=;
for(j=len[i]-;j>=;--j)
N+=s[i][j]=='F';
if(*N-len[i]<)
{
for(j=len[i]-;j>=;--j)
{
if(s[i][j]=='F')
{
++F;
anss=max(anss,-((*N-len[i])*x[i]+*a-*N+*F-b+j));
}
}
}
else
{
for(j=len[i]-;j>=;--j)
{
if(s[i][j]=='F')
{
++F;
anss=max(anss,-(-len[i]+*a+*F-b+j));
}
}
}
a+=F*x[i];
b+=len[i]*x[i];
}
printf("%lld",anss);
return ;
}
loj2734「JOISC 2016 Day 2」女装大佬 || 洛谷P3615 如厕计划的更多相关文章
- Loj #2731 「JOISC 2016 Day 1」棋盘游戏
Loj 2731 「JOISC 2016 Day 1」棋盘游戏 JOI 君有一个棋盘,棋盘上有 \(N\) 行 \(3\) 列 的格子.JOI 君有若干棋子,并想用它们来玩一个游戏.初始状态棋盘上至少 ...
- 「JOISC 2016 Day 1」棋盘游戏
「JOISC 2016 Day 1」棋盘游戏 先判无解:第1,3行有连续的空格或四个角有空格. 然后可以发现有解的情况第1,3行可以在任意时间摆放. 对于某一列,若第2行放有棋子,那么显然可以把棋盘分 ...
- LOJ #2731. 「JOISC 2016 Day 1」棋盘游戏(dp)
题意 JOI 君有一个棋盘,棋盘上有 \(N\) 行 \(3\) 列 的格子.JOI 君有若干棋子,并想用它们来玩一个游戏.初始状态棋盘上至少有一个棋子,也至少有一个空位. 游戏的目标是:在还没有放棋 ...
- LOJ 2737 「JOISC 2016 Day 3」电报 ——思路+基环树DP
题目:https://loj.ac/problem/2737 相连的关系形成若干环 / 内向基环树 .如果不是只有一个环的话,就得断开一些边使得图变成若干链.边的边权是以它为出边的点的点权. 基环树的 ...
- LOJ 2736 「JOISC 2016 Day 3」回转寿司 ——堆+分块思路
题目:https://loj.ac/problem/2736 如果每个询问都是 l = 1 , r = n ,那么每次输出序列的 n 个数与本次操作的数的最大值即可.可以用堆维护. 不同区间的询问,可 ...
- 「JOISC 2016 Day 3」回转寿司
https://loj.ac/problem/2736 题解 挺有意思的题. 考虑这种操作不好直接维护,还有时限比较长,所以考虑分块. 考虑一个操作对整个块的影响,无非就是可能把最大的拿走,再把新的元 ...
- [LOJ#2732] 「JOISC 2016 Day 2」雇佣计划
参考博文 (不过个人感觉我讲的稍微更清楚一点) 题目就是让我们求图中满足数值大于等于B的连通块数量 然后我们可以尝试转换为求连通块两端所产生的“谷”的数量,显然一个连通块对谷可以贡献2的答案,最终答案 ...
- 题解 「JOISC 2016 Day 3」电报
题目传送门 题目大意 给出一个\(n\)个点\(n\)条边的图,每个点有且仅有一个出边,改变每条边都会有对应的花费.求最小的花费使得整个图强连通. 思路 很显然,最后的图就是一个环.那我们要求的答案实 ...
- 「JOISC 2015 Day 1」卡片占卜
题目描述 K 理事长是占卜好手,他精通各种形式的占卜.今天,他要用正面写着 I ,背面写着 O 的卡片占卜一下日本 IOI 国家队的选手选择情况. 占卜的方法如下: 首先,选取五个正整数 A,B,C, ...
随机推荐
- POJ 3071 Football:概率dp
题目链接:http://poj.org/problem?id=3071 题意: 给定n,有2^n支队伍参加足球赛. 给你所有的p[i][j],表示队伍i打败队伍j的概率. 淘汰赛制.第一轮(1,2)两 ...
- 图解mysql join
原文:http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins 这个图文解释mysql join的各种技 ...
- php设计模式课程---9、桥接模式是什么
php设计模式课程---9.桥接模式是什么 一.总结 一句话总结: 一个类没干完,另外一个类接着给它干完 实质是类的拼接,也就是用类的组合代替了类的继承,因为类的组合可以有很多种方式,所以桥接就是类的 ...
- 分享知识-快乐自己:SpringMvc中的四种数据源及相关配置(整合快速集成开发)
数据库连接: jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://39.105.105.186:3306/SpringMybatis?us ...
- BZOJ_3165_[Heoi2013]Segment_线段树
BZOJ_3165_[Heoi2013]Segment_线段树 Description 要求在平面直角坐标系下维护两个操作: 1.在平面上加入一条线段.记第i条被插入的线段的标号为i. 2.给定一个数 ...
- SSH 整合时报内存溢出 缓存无法释放
简单点讲, 我的问题就是jar包一样, 但版本不一样, 还有重复的jar导入了, 导致了这个问题, 别人的我不知道, 问题知道了, 答案也就有了, 是重复加载的问题, 删掉重复的就好了.
- 从0起步 BI 第一课
收集 BI 学习资料(了解,书籍,示例demo) 专业人士: http://www.cnblogs.com/aspnetx/p/3189029.html http://www.flybi.net/ h ...
- 面试题: 数据库 oracle数据库 已看1 意义不大 有用
Oracle数据库面试题总结 2017年04月27日 22:41:44 阅读数:9271 1.SQL语句分类 DQL(数据查询语言)select DML(数据操作语言)insert.delete.up ...
- ant错误 reference classes not found
使用ant提示reference classes not found错误 原因是 里面的一些属性的值要用on或者yes或者off或者no..用成其他,例如true,false的话就会有这个提示..
- jquery中的$.ajax()的源码分析
针对获取到location.href的兼容代码: try { ajaxLocation = location.href; } catch( e ) { // Use the href attribut ...