csp-s模拟测试57(10.2)「天空龙」·「巨神兵」·「太阳神」

题目是古埃及神话???

A. 天空龙



傻逼模拟,看来没有滑天下之大稽QAQ,也没有打错快读(大雾...)

B. 巨神兵



难度爆增,一脸懵比.....

60分状压:

因为是求有向图,关于有向图好像拓扑用的很多,考虑到每个图的拓扑序是一定的

那么我们可以借此转移,设f[i][j]为当前点的状态为i,出度为零的点的度数为j

向下一层转移时枚举下一层的点集,那么点集S中每个点一定要和j连边,可以和i中除j以外的点连边

然后对于每个点cnt1,表示除j以外与i的连边,cnt2表示与j的连边,该点的贡献为2^cnt1*(2^cnt2-1)

100分

容斥?????

事实上不大会证,当前DP状态为一维f[i]表示当前点的状态为i,因为不知道出度为零的点是谁,那么我们

就开始大力容斥,

另外感谢zzyy大神教我卡常

for(int uu=(~i)&((1<<n)-1),s=uu;s;(--s)&=uu){

for(int l=i;l;l-=lowbit(l)){

第一个是枚举补集,第二个是取出每一位。

C. 太阳神



咕咕咕咕咕咕咕...

原文地址:https://www.cnblogs.com/Wwb123/p/11623269.html

时间: 2024-08-30 16:07:51

csp-s模拟测试57(10.2)「天空龙」·「巨神兵」·「太阳神」的相关文章

CSP-S 模拟测试57题解

人生第一次A,B层一块考rank2,虽然说分差没几分,但还是值得纪念. 题解: T1 天空龙: 大神题,因为我从不写快读也没有写考场注释的习惯,所以不会做,全hzoi就kx会做,kx真大神级人物. T2 巨神兵: 大神题,一看数据范围这么小,我们考虑状压,最傻逼的暴力思路是压边,但是这显然不行.正解是压点,设$f[s]$为当前选定点集状态为$s$的方案数. 我们考虑转移,当前选定的点集肯定是可以通过边和没有连过来的点相连构成新的方案.所以转移所以我们考虑枚举补集的子集$k$,设$cnt$为s与k

csps模拟测试57

T1 天空龙 大神题,考察多方面知识,例如:快读 附上考试代码,以供后人学习 1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 #include<cstring> 5 using namespace std; 6 inline int read() 7 { 8 int x=0,f=1;char c=getchar(); 9 while(c<'0'||c>'9') {if

csp-s模拟测试56(10.2)Merchant「二分」&#183;Equation「树状数组」

又死了......T1 Merchant 因为每个集合都可以写成一次函数的形式,所以假设是单调升的函数,那么随着t越大就越佳 而单调减的函数,随着t的增大结果越小,所以不是单调的??? 但是我们的单调只需凭借t时刻的sum值是否大于S即可 如果某个单减的集合符合情况,那么他在t==0时就符合情况 如果不符合,那么他就不会作出贡献 所以可以二分 T2 Equation 一开始以为是高斯消元??? 当然不是..... 把每个xi均用x1表示,那么我们发现,对于深度奇偶不同的点,他的表示方式是不同的,

csp-s模拟测试59(10.4)「Reverse」(set)&#183;「Silhouette」(容斥)

A. Reverse 菜鸡wwb又不会了..... 可以线段树优化建边,然而不会所以只能set水了 发现对于k和当前反转点固定的节点x确定奇偶性所到达的节点奇偶性是一定的 那么set维护奇偶点,然后每次set找点删点注意边界 set在删点后原来的迭代器会玄学出错,xuefeng好像被坑了,所以lowerbound一下就不用++了 B. Silhouette 很玄学的容斥 考场多QJ了18分,因为如果1-n是个序列,好像就是一个简单的容斥..... 然后用能发现是以“L”形的形状向右推的,随便乘一

[考试反思]1002csp-s模拟测试57:平庸

一天两场,感觉要完. 不粘排行榜,太壮观了. #1:190 #2:180 #4:160 #35:150 #37:140 #39:120 #kx:20呃... 最后一个是考试结束后了. 又是CE盖40分.其实离#2不远... 调试语句没删干净,开O2编译出一条编译错误,没看,以为是那条关于scanf的warning. 然而并不是. 一定要仔细检查编译信息!!!交代码前一定要编译!!! 还有其实T1险些出锅,看错了题. 考试结束前7分钟重新看了一遍发现不对劲,+100pts. 看题!!! 要检查!!

模拟测试57

T1: 贴心送分题. 对于每种颜色,如果多了,就会有多的数量除二的贡献,反之会有少的数量的需求. 最后判断贡献和需求哪个大即可. 时间复杂度$O(1)$. T2: 边数太多,考虑将状态记录在点上. 每一种可行方案是一个dag,可以按照拓扑序列分层. 状态记录当前选中的集合,和最后一层的点的集合,然后枚举状态更新即可. 更新时算出当前集合向拓展集合连的边数,每个点至少要有一条入边. 考虑优化,省去第二维状态. 枚举补集的子集,算出当前集合向拓展集合连的边数,每条边都可以连或不连. 但是这样会算重,

微信在线信息模拟测试工具(基于Senparc.Weixin.MP)

目前为止似乎还没有看到过Web版的普通消息测试工具(除了官方针对高级接口的),现有的一些桌面版的几个测试工具也都是使用XML直接请求,非常不友好,我们来尝试做一个“面向对象”操作的测试工具. 测试工具在线DEMO:http://weixin.senparc.com/SimulateTool Senparc.Weixin.MP是一个开源的微信SDK项目,地址:https://github.com/JeffreySu/WeiXinMPSDK (其中https://github.com/Jeffrey

noip模拟测试11

T1:string 第一眼秒出思路,这不就是排序那道题的加强版吗? 然而歪?解复杂度虽然是对的,但常数过大,竟被卡到70 歪?解:(实际上std写的就是这个,但据说std被卡掉了 OAO) 因为字符集很小,所以我们可以把区间排序改为区间查询和覆盖 即:先查询区间内所有字符的个数,再从左端点开始按照大小关系依次将长度为字符个数的区间修改为该字符. 期望复杂度O ( 26*mlogn ),实际复杂度O ( 26*mlogn*(巨大的常数) ) 所以需要一(feng)定(kuang)的卡常 正?解:

[考试反思]0929csp-s模拟测试55:沦陷

菜得过分. 面对T1的大板子不知所措,然后T2的贪心不小心把排序语句删了... T1这种大模板啊...其实我是觉得我能打出来的,然后先用一个小时码了一个2k. 然后做T2想贪心就出来了.十分钟码完T3暴力之后回T1打对拍瞬间爆炸. 于是又重新打了一个2k,WA0.对拍发现. 然后考试就没几分钟了交暴力走了. 不要打完就跑,记得早点对拍改进思路. T1: 的确是挺裸的线段树.离散化或者权值线段树都可以. 但是考场上两个都打出来都死了. 最后用离散化A的. 1 #include<cstdio> 2