bzoj2091【Poi2010】The Minima Game】的更多相关文章

直接dp就好了 每个人肯定会去选最大的,用dp[i]表示选了后i个点时先手-后手的最大值(因为从后往前扫才好转移啊 QwQ~) dp[i]=max(c[j]-dp[j-1]),(j<=i) 直接维护max值就好了~ #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> using namespace std; ; int n,c[Mx]; long long…
Manacher算法 啊……Manacher修改一下就好啦~蛮水的…… Manacher原本是找首尾相同的子串,即回文串,我们这里是要找对应位置不同的“反回文串”(反对称?233) 长度为奇数的肯定不满足>_>(中间那个字符无论如何不反对称) 那么我们就找'#'为中心的即可…… 将判断条件a[i-p[i]-1]==a[i+p[i]+1]改成[不等……或是两个都是'#'] 将所有的p[i]加起来,即所有“反回文串”的长度加起来除以二就是答案啦~ 看代码吧>_< /**********…
因为long long还有PE的事WA了一下午TAT 考虑一段可行区间的平均值肯定>=k 也就是说将每个数减去k以后,一段可行区间的和非负,求一段最长区间. 一段区间的和肯定是两个前缀和的差 先求出前缀和,考虑要想让答案更优,被减数应该靠后而且大,减数应该靠前而且小 so维护两个单调队列然后two-pointers扫一遍就好了QwQ~ 记得输出行末必须换行&不能有空格 #include<iostream> #include<algorithm> #include<…
听说正解是链表,然而被我暴力水过了 先开vector记录每个数在原串中出现的位置 之后对于每个匹配串的每一位,找比当前位置大的第一个当前元素是哪个,有就更新,没有就"NIE" #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<vector> using namespace std; ; vector <in…
题目大意 ​ 给你一个无向图,每条边的两个方向的边权可能不同.要求找出一条欧拉回路使得路径上的边权的最大值最小.无解输出"NIE". \(2\leq n\leq 1000,1\leq m\leq 2000\) 题解 ​ 我们先二分答案\(ans\),把边权大于\(ans\)的边删掉. ​ 现在图中还剩下一些有向边和一些无向边,也就是说这是一个混合图. ​ 混合图的欧拉回路怎么求? ​ 先把无向边定向(方向任意),求出每个点的出度\(d1_i\)和入度\(d2_i\).如果存在点\(i\…
题目大意:给你$m$个数$a_i$,定义$n=\Pi_{i=1}^{m}a_i$.将$n$分解质因数为$\Pi p_i^{k_i} $,$p_i$是质数.请输出$2^{max(k_i)}-1$,以及存在多少个$k_i$,满足$k_i=max(k_i)$. 数据范围:$m≤600$,$a_i≤10^{18} $. 这题有一种很显然的做法,采用$pollard-rho$对每个$a_i$分解质因数,然后统计每种质因子出现的次数,最后取个$max$然后再统计下直接输出. 然而这题卡$pollard-rh…
[BZOJ2084][Poi2010]Antisymmetry(manarcher) 题面 BZOJ 洛谷 题解 一眼马拉车吧...明显就是在回文串的基础上随便改了改. 似乎还可以魔改回文树,然而我这智商可能魔改不出来. 稍微注意一下因为长度只能是偶数,所以不是加进来的字符的位置是不能用来更新的. #include<iostream> #include<cstdio> using namespace std; #define MAX 500500 int n;char s[MAX&…
[BZOJ2087][Poi2010]Sheep Description Lyx的QQ牧场养了很多偶数个的羊,他是Vip,所以牧场是凸多边形(畸形).现在因为他开挂,受到了惩罚,系统要求他把牧场全部分为三角形(划分线不能在牧场中相交,只能在顶点相交),羊也是有个性的,如果他们在三角形中是单数就会有羊自杀(Lyx的样就是畸形),这让Lyx很难办,于是他向你求助了. Input 输入:第一行由空格隔开的3个整数n(4<=n<=600),k(2<=k<=20000),m(2<=m&…
[BZOJ2095][Poi2010]Bridges Description YYD为了减肥,他来到了瘦海,这是一个巨大的海,海中有n个小岛,小岛之间有m座桥连接,两个小岛之间不会有两座桥,并且从一个小岛可以到另外任意一个小岛.现在YYD想骑单车从小岛1出发,骑过每一座桥,到达每一个小岛,然后回到小岛1.霸中同学为了让YYD减肥成功,召唤了大风,由于是海上,风变得十分大,经过每一座桥都有不可避免的风阻碍YYD,YYD十分ddt,于是用泡芙贿赂了你,希望你能帮他找出一条承受的最大风力最小的路线.…
[BZOJ2081][Poi2010]Beads Description Zxl有一次决定制造一条项链,她以非常便宜的价格买了一长条鲜艳的珊瑚珠子,她现在也有一个机器,能把这条珠子切成很多块(子串),每块有k(k>0)个珠子,如果这条珠子的长度不是k的倍数,最后一块小于k的就不要拉(nc真浪费),保证珠子的长度为正整数. Zxl喜欢多样的项链,为她应该怎样选择数字k来尽可能得到更多的不同的子串感到好奇,子串都是可以反转的,换句话说,子串(1,2,3)和(3,2,1)是一样的.写一个程序,为Zxl…