ZOJ4114 Flipping Game(2019山东省赛)】的更多相关文章

有n个开关,有起始状态和终状态,问如果每次必须选m个开关进行改变状态,一共进行k次,那么有多少种方式可以从起始状态到终状态~ #include<bits/stdc++.h> using namespace std; typedef long long ll; ; ; ll dp[maxn][maxn]; ll c[maxn][maxn];//组合数 char s1[maxn]; char s2[maxn]; int main () { ;i<maxn;i++) c[i][]=; ;i&l…
比赛结束了几天...这篇博客其实比完就想写了...但是想等补完可做题顺便po上题解... 5.10晚的动车到了济南,没带外套有点凉.酒店还不错. 5.11早上去报道,济南大学好大啊...感觉走了一个世纪才到了他们的教学楼...跟我们学校比起来... 中午吃的他们的八食堂,对于我来说并没有吃饱,食堂看着很好但是给队员的窗口只有一个.其他的都没办法吃. 下午热身赛AB水题.C题刚开始觉得是二分,中途发现二分是错的然后改了几发过了之后就走了.出来之后才看的D,才知道为啥要放弃D了233 晚上吃饭吃得有…
题目链接 题意: 给出一个无向图,类似三角形的样子,然后给出边的权值,问找一条从第一个点到最后一个点的路径,要求每一条边只能走一次,并且权值和最大,点可以重复走. 思路: 首先观察这个图可以发现,所有的点的度数都是偶数.然后由每条边只能走一次知道,这个是和欧拉路相关的,是欧拉道路,不是欧拉回路,因为题目要求是从一个点到另一个点.但是图的所有点的度数都是偶数,那么想办法让图中的第一个点和最后一个点度数变为奇数,其他点的度数都是偶数.这个就比较巧妙,去掉从第一个点到最后一个点的一条无重复点的路径,除…
按照计划读书,第i分钟要读第ai本书,起初桌子是空的,所有书都在书架上,如果要读的书不在桌子上,就需要把书从书架上拿到桌子上,如果桌子已经满了,则需要先把桌子上最早读的一本书放回书架,求当桌子容量为k(k从1到n)时共需要从书架上取多少次书. 树状数组维护区间,前缀和计算情况总数~ #include<bits/stdc++.h> using namespace std; #define lowbit(x) x&-x ; int pre[maxn];//记录该书上一次出现的位置 int…
A.Calandar 题意:一年12个月,一个月30天,5天一周,已知某天的年月日星期数,求所给年月日的星期数是多少 思路:直接进行计算,其实每个月每年都是等长度的就使得计算的时候忽略年月,可以直接进行日期的比较,因为每个月都有长度相等的六周 代码: 1 #include<bits/stdc++.h> 2 using namespace std; 3 string day[6]={"Friday","Monday","Tuesday"…
五题手快拿银,不然拿铜,甚至不拿,从结果上来看拿了铜牌对第一年的我们来说算好的,也不算太好. 从拿奖后的第一天,我想写这篇博客,但是我忍了下来,那时候被喜悦冲昏了头脑,当 冷静下来,我开始打算写这篇博客. 从心态方面分析: 训练赛,热身赛,都是抗压,很少拿过第一,每次被碾压,都有种想哭出来的滋味,好在我们学会了抗压,在M题230的通过量,我们WA了4次之后,我们慌得还不是很厉害.没有去看排名,1小时左右出了第一道T,如果说这是谁的责任,这是我的责任,大意,用double wa了3次,没考虑0的特…
triangle(第8届山东省赛的某题) 传送门 题意:喵了个呜,这题意真是峰回路转啊.懒死了,不想描述. 做法:我们拿set或线段树维护exp的最小值,每次取出exp值最小的边,删除之.并更新这条边所在的三元环的另外两条边的exp. nice(每次取出的边)就等于前缀最大值啦. set维护版本 #include <iostream> #include <algorithm> #include <cstdio> #include <vector> #incl…
2013年山东省赛F题 Mountain Subsequences先说n^2做法,从第1个,(假设当前是第i个)到第i-1个位置上哪些比第i位的小,那也就意味着a[i]可以接在它后面,f1[i]表示从第一个开始,以a[i]为结尾的不同递增序列的个数,要加上1,算上本身.正反各跑一遍,答案加一下(f1[i]-1)*(f2[i]-1)优化就是,比a[i]小的,只有a[i]-1个 #include<iostream> #include<cstdio> #include<queue&…
HEX SDUT 3896 17年山东省赛D题这个题是从矩形的左下角走到右上角的方案数的变形题,看来我对以前做过的题理解还不是太深,或者是忘了.对于这种题目,直接分析它的性质就完事了.从(1,1)走到(a,b)向左走的步数和向右走的步数是确定的,向下是代表向左向右各走了一步.细节:利用对称性,线性推逆元 对于每一种情况,向左下.向右下.向下的次数都是确定的,然后,对于每一种方向内部顺序不用考虑,然后排列组合就完事了对称性上又出错了,哎,自己也没找个小数据试一下,就...(a,b)和(a,a-b+…
2018山东省赛sequence因为必须要删除一个数,所以可以计算每个数删除的代价,从而选取代价最小的进行删除如果一个数大于它前面的所有数的最小值而小于次小值,删除最小值的代价就要+1:如果一个数本身就是good数,那么该数代价就要加一 #include<iostream> #include<cstdio> #include<queue> #include<algorithm> #include<cmath> #include<ctime&…