【题解】 [GZOI2017]小z玩游戏】的更多相关文章

小z玩游戏 Tarjan算是板子题吧,但是要稍微做一些修改,建边需要多考虑,建立"虚点". 题目描述 小 z 很无聊. 小 z 要玩游戏. 小 z 有\(N\)个新游戏,第\(i\)个游戏看上去的有趣程度为\(w_i\).小 z 很挑,他只会玩看上去的有趣程度是自己兴奋程度整数倍的游戏.由于游戏实际上有好玩的也有不好玩的,玩完第\(i\)个游戏后,小 z 的兴奋程度会变为\(e_i\) . 已知小 z 初始兴奋程度为\(1\),请问小 z 有多少个游戏可能会玩两次? 输入格式 第一行一…
题目戳我 \(\text{Solution:}\) 考虑建图.操作可以看作对\(1\)进行的操作,于是有以下运行过程: \(1\to w[i]\to e[i]\to...\) 考虑倍数,一个数可以走到所有是它的倍数的数.于是这样建图: \(w[i]\to e[i],i\to i*j.\) 然后发现倍数的边可以只建立质数的倍数即可. 题目本质是将所谓游戏重玩看成环,并将操作抽象为对初始元素\(1\)进行的状态转移,进而建立出模型. #include<bits/stdc++.h> using na…
题目描述 分析 一开始看到这道题,首先想到的就是建好边后跑一个Tarjan缩点,将siz大于1的节点统计一下,输出结果 Tarjan非常显然易得,关键就是怎么建边 比较好想的一种思路就是枚举每一个兴奋程度 对于每一个兴奋程度,再将有趣程度枚举一遍 如果有趣程度是兴奋程度的倍数的话,在两个节点之间建一条有向边 我们拿第二个样例模拟一下,建好边后就是下面这样 那么缩点后大小不为1的强连通分量只有一个,它的大小为3 那么最终的答案就是\(3\) 但是这样的建边效率为\(n^2\),复杂度接受不了 所以…
原题来自与:洛谷 P5676(GZOI2017)  链接: https://www.luogu.com.cn/problem/P5676 题面: 题意比较明显,如果已经建好了边,那么跑个Tarjan 就完了. 但是问题在于建边的复杂度,比较好想的是n2  的建边方式. 但是时间肯定不允许. 那么我们就要想一种时间复杂度较小的建边方式. 可以考虑引入中间变量兴奋程度 那么如何建边, 首先将点开多一些 把中间变量兴奋程度也当作点 然后建边 1.建一个由 有趣程度 到 点 的边 2.建一个由 点 到…
2783: [基础]小 X 玩游戏(game) 时间限制: 1 Sec 内存限制: 64 MB 提交: 752 解决: 294 [提交] [状态] [讨论版] [命题人:ghost79] 题目描述 听完了故事,小 X 又想去玩一会儿游戏了. 这是一个很奇特的单机游戏, 游戏规则如下: 游戏中一共有 4× n 张牌,每张牌上有一个数字, 这些数字恰好是 1-4× n.一开始电脑会把这 4× n张牌随机打乱,然后会发 2× n 张牌给小 X.那些剩下的 2× n 牌电脑会再打乱一次,然后排成一排展示…
P2175 小Z的游戏分队 小Z受不了寂寞,准备举办一次DOTA比赛,为了能让ACM班全部都参加比赛,他还特制了一张DOTA地图能够支持任意多人打任意多人. 现在问题来了,怎么把这么多人分成两队?小Z的想法是,每个人报上自己愿意同队的同学,接着小Z会按如下要求将所有人分为两队: 对任意同学甲,和同学甲同队的人,必须都是同学甲愿意同队的同学. 小Z希望两队的人数差尽量小,如果这种分组不存在,那么输出No solution. 先想判无解的情况. 因为分两个组,所以可以通过二分图染色判环. 那么按照不…
5777. [NOIP2008模拟]小x玩游戏 (File IO): input:game.in output:game.out Time Limits: 1000 ms  Memory Limits: 262144 KB  Detailed Limits   Goto ProblemSet Description         今天,小x因为太无聊,就在玩游戏.这个游戏有两个队伍,然后他们在游戏里面打来打去.       但小x遇到了难题.他不知道自己的队友是谁.他只知道总共有两个队伍,每队…
期末考试结束了,来写写blog吧 题目描述 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命-- 具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R(L 尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一左一右,他却很在意袜子的颜色,毕竟穿两只不同色的袜子会很尴尬. 你的任务便是告诉小Z,他有多大的概率抽到两只颜色相同的袜子.当然,小Z希望这个概率尽量高,所以他可能会询问多个…
https://scut.online/p/131 首先假如钦定了一群人去打怪兽,那么可以把主要的任务都丢给b最大的人去打,这样不会更差.然后考虑枚举这个b最大的人,其他人陪练.一开始就是ai+k*bi+sumC-ci,这个很好理解,然后这个人分出至多t=k-1个怪兽给陪练团打,那么既然规定陪练团每个人只能选1只去打,那么肯定是贪心选vj=aj+bj-cj最大的t个人去打.搞个Treap(随便,但是WA了好多发)维护一下. 注意是我这个模板居然没有初始化,草,还要自己写.但是Treap具体的原理…
A.小Z的可恶路障 题目:http://www.luogu.org/problem/show?pid=U126 题解:暴力也可以过吧.我为了保险先求了一次最短路,然后枚举这条最短路上的所有边... 代码: #include<cstdio> #include<cstdlib> #include<cmath> #include<cstring> #include<algorithm> #include<iostream> #include…