
sgu题解
文章平均质量分 60
持续更新Saratov State University :: Online Contester,即sgu的翻译与题目
期待变成神犇的zzj
永远不要放弃自己,因为当你放弃自己时,你也放弃了国家。
展开
-
sgu-301. Boring. Hot. Summer...
Description: ~~~给你一个 NN 个点,MM 条边的无向图,规定了起点 SS 和终点 TT ,一个人从点 SS 出发去 TT ,每一条 SS 到 TT 的最短路叫做关键路径,属于关键路径上的点称为关键点。假设每个单位时间可以移动 11 的长度。对于第 ii 个点,如果其不是关键点,输出 “00”,否则假设从 SS 到 ii 时间为 TiT_i,输出在时间为 TiT_i 时,这个人可原创 2015-08-31 20:51:11 · 868 阅读 · 0 评论 -
sgu-300.Train
哈哈我又来填坑了。 ~~~ ~~~ ~~~Description: ~~~给你一个长度为 NN 的连续折线 (N≤4000)(N\leq4000),这些折线都是与坐标轴平行的。让你求这个直线形成的最小的环,如果不存在环就出输出这条折线的长度。 ~~~ ~~~ ~~~Solution: ~~~首先这道题目是可以 O(N2)O(N^2)过的。我们按顺序原创 2015-08-18 12:10:34 · 756 阅读 · 0 评论 -
sgu-279. Bipermutations
题目大意:定义一个符号i≺ji\prec j表示序列中ii在jj的前面。 现在有一个由1,2,.......,N,1′,2′,........,N′1,2,.......,N,1',2',........,N'满足i≺j⇔i ′≺j ′i\prec j \Leftrightarrow i~'\prec j~'。现在定义bij={j ′,if j<ij ,if j>ib_{ij}=\left\原创 2015-06-24 21:58:11 · 601 阅读 · 0 评论 -
sgu-264. Travel
题目大意:没什么好说的,稳定婚姻问题。 ~ ~ ~解题思路:首先将所有的男的压入一次加入队列中,对于每一个男的ii,先出队,从他的喜欢顺序中依次寻找,如果有一个女tt的没有匹配或者对当前的匹配jj不如这个男的,那么就让i,ti,t匹配,然后将jj加入队列中,如果找不到的话就将ii重新加入队列中。 ~ ~ ~AC代码:#include <cstdio>#include <cs原创 2015-06-24 13:46:46 · 813 阅读 · 0 评论 -
sgu-284. Grammar
题目大意:给你N(N<=30)N(N<=30)个串,第ii个串由Li(Li<=500)L_i(L_i<=500)段组成,每一段只能是′a′,′b′,'a','b',或者一个数t(0<t<i)t(0<t<i)。如果这一段是数字tt,那么这一段就相当于第tt个串,然后第ii个串最终就是所有段拼接起来。(如:串11为′a′,′b′'a','b',串22为′a′,1,′b′'a',1,'b',串33为′a′原创 2015-06-23 14:13:56 · 637 阅读 · 0 评论 -
sgu-263 Towers
题目大意:从1∼1061\sim 10^6有10610^6个基底,一开始上面都没有积木,高度为00,连续的一段高度大于00的基底算作一个towertower,显然一开始towertower数为00。 接下来有两个操作: 1.put x c 1.put~x~c~将cc个积木放在第xx个基底上。 2.tput t x c 2.tput~t~x~c~将cc个积木放在第tt个towertower中的第原创 2015-06-15 20:23:48 · 642 阅读 · 0 评论 -
sgu-262 Symbol Recognition
题目大意:有KK个N∗MN*M的0101矩阵(1<=N,M<=10,2<=K<=6)(1 <= N, M <= 10, 2 <= K <= 6),保证两两不同,然后要你从N∗MN*M矩阵中选出最少的位置,使得仅靠这些位置就能区分这KK个矩阵。 ~ ~ ~解题思路:我们观察到KK的范围,发现如果我们将所有矩阵两两是否可以区分的信息存储下来需要的空间是2K∗(K−1)22^{\frac{K*原创 2015-06-15 20:07:27 · 1169 阅读 · 0 评论 -
sgu-261 Discrete Roots
题目大意:给你两个质数PP和K(2<=P<=109,2<=K<=100000)K (2 <= P <= 10^9, 2 <= K <= 100000),还有一个数A(0<=A<P)A(0<=A<P),求出方程xK=A( mod P)x^K = A (~mod ~P)所有的整数解x∈[0,P−1]x\in[0,P-1] ~ ~ ~解题思路:首先我们求出PP的原根gg,然后求出tt使得gt=原创 2015-06-15 19:53:56 · 788 阅读 · 0 评论 -
sgu-260 Puzzle
题目大意:给你一个0101串,长度为N(N<=200)N(N<=200),每一位不但能控制自己,还可以控制别的一些位,现在有反转操作,假设我们对第ii位执行反转操作,那么ii所控制的所有位都会反转。现在给你每位控制的集合,和初始0101串,问是否存在一种操作方式使得这个串都为00或11。解题思路:直接高斯消元就行了。 没什么可说的。AC代码:#include <cstdio>#include <原创 2015-06-01 19:48:20 · 807 阅读 · 0 评论 -
sgu-259 Printed PR
题目大意:有N(N<=100)N(N<=100)个产品,每个产品有两个属性Ti,LiT_i,L_i,表示做这个产品的所需时间和递送时间,递送必须在产品完成后开始,在递送时可以进行下一个产品的制作。同一时间内只能有一个产品在制作,但是可以有多个产品递送,问递送完所有的产品的时间。解题思路:经典贪心题目,白书上好像有原题吧。 思路就是将所有的产品按递送时间从大到小排序,然后直接从前往后做就行了。 证原创 2015-06-01 19:33:48 · 740 阅读 · 0 评论 -
sgu-258 Almost Lucky Numbers
题目大意:定义幸运数字为有2N2N位的数,并且前NN位和后NN位的数字之和相等。 定义近似幸运数字为有2N2N位的数,改动其中一位后(不能出现前导零,并且必须变动,也就是说幸运数字一定不是近似幸运数字)满足是幸运数字。 然后现在给你A,B(A,B<=109)A,B(A,B<=10^9),要你求出[A,B][A,B]中近似幸运数字的个数。解题思路:一道恶心的dpdp,写了我几个小时啊。。。。。。。原创 2015-06-01 14:04:34 · 832 阅读 · 0 评论 -
sgu-257 Debt
题目大意:Dr.MurzovDr. Murzov欠了分别欠了三个人P,O,S(<=105)P,O,S(<=10^5)元钱,然后他手上有N(N<=105)N(N<=10^5)个石头,每个石头用一串字符表示,长度为33,如果第ii个是SS,表示这个石头在第ii个人眼里值22元钱,如果是BB则值11元钱。然后问是否可以通过把这些石头分给这三个人,而将欠款还清(可以多还。)解题思路:贪心。 首先我们枚举三原创 2015-06-01 13:31:26 · 1187 阅读 · 1 评论 -
sgu-256 Balloons
题目大意:有M(M<=100)M(M<=100)个气球,有N(N<=10)N(N<=10)个人可以吹气球,但是只有一个工具,对于每个人ii,有两个参数: Ai(Ai<=10)⇒一分钟可以吹Ai个气球,Bi(Bi<=4)⇒吹完一分钟后需要休息Bi分钟才能继续吹A_i(A_i<=10)\Rightarrow一分钟可以吹A_i个气球,B_i(B_i<=4)\Rightarrow吹完一分钟后需要休息B_i原创 2015-05-26 13:47:01 · 948 阅读 · 0 评论 -
sgu-255 Winsock 3 Beta
题目大意:给定一个函数f(x)=g(x+1)+g(x+2)+.....+g(x∗2)f(x)=g(x+1)+g(x+2)+.....+g(x*2),其中g(x)=[x的二进制表示有且仅有3个1]g(x)=[x的二进制表示有且仅有3个1]。给你N(N<=100)N(N<=100)个输入,每个输入给你一个m(m<=231−1)m(m<=2^{31}-1),要你求出f(x)=m是否存在唯一的整数解f(x)原创 2015-05-25 19:22:31 · 690 阅读 · 0 评论 -
sgu-254 Strange Random
题目大意:整数1∼N(N<=2∗106)1\sim N(N<=2*10^6)按顺时针形成一个圈写在黑板上。你需要重复如下操作: 从当前整数移动到从当前整数按当前方向开始数的第Q(Q<=10)Q(Q<=10)个整数,然后擦掉这个整数并且跳到这个整数的下一个整数。如果下一个整数是奇数,那么下一次操作方向应该是顺时针,如果是偶数应该是逆时针。 一开始你在整数11上,方向为顺时针,要你求最后留下的整数是原创 2015-05-24 23:08:52 · 820 阅读 · 0 评论 -
sgu-253 Theodore Roosevelt
题目大意:给你一个N(N<=105)N(N<=10^5)个点的凸包,给你M(M<=105)M(M<=10^5)个点,要你判断这MM个点在凸包内的点数numnum是否大于等于KK,如果num>=Knum>=K输出YESYES,否则输出NONO。解题思路:首先我们求出这个凸包(听别人说这个凸包已经逆时针给出的了,但是我比较习惯以最左最下的点做基准来极角排序【注意:如果有几点在凸包的同一条边上,那么需要把原创 2015-05-24 20:28:16 · 820 阅读 · 0 评论 -
sgu-252 Railway Communication
题目大意:给定一个无向图,顶点数为N(N<=100)N(N<=100),边数为M(M<=1000)M(M<=1000),每条边有一个非负的权值,要你求出一个边权和最小的最小路径覆盖。解题思路:不说什么了,最小费用最大流,直接裸上就行了,有一个问题就是输出,坑了我一个小时啊,输出要求对于每条路径从起点输出到终点,而不能乱序输出路径上的点。AC代码:#include <cstdio>#include原创 2015-05-22 13:49:06 · 955 阅读 · 0 评论 -
sgu-250 Constructive Plan
题目大意:给你一个N∗MN*M的{0,1}\{0,1\}矩阵,然后只有为00的地方可以可用,然后要你找出一个最大的CC,输出所占大小,并且在原图中把所占的地方改成88,然后输出新的图。 PS:CPS:C的定义就是从上到下三个大小相邻且不为00的矩形,左边界需要对齐,并且上面和下面的矩形的右边界都要大于中间的矩形的右边界。解题思路:这道题我只想出了O(N3logN)O(N^3log_N)的做法,虽然原创 2015-05-20 19:57:42 · 795 阅读 · 0 评论 -
sgu-249 Matrix
题目大意:给你一个2n∗2m(n,m<=20)2^n*2^m(n,m<=20)的矩阵,要你把0∼2(m+n)−10\sim2^{(m+n)}-1填入矩阵中,使得相邻的两个数的二进制只有一位不同。解题思路:看到只有一位不同,很容易想到格雷码(G[i])(G[i])。((格雷码不会的话请先学习一下,因为本人太弱所以讲不清))。如果我们令(i,j)=G[i]∗2m∗G[j](i∈[0,n),j∈[0,m)原创 2015-05-19 13:48:39 · 823 阅读 · 0 评论 -
sgu-248 Integer Linear Programming
题目大意:给你一个n(n<=3)n(n<=3),对于x[1],x[2]....x[n]∈Nx[1],x[2]....x[n]\in N,有约束条件满足x[1]∗c[1]+x[2]∗c[2]+.....+x[n]∗c[n]=v(v<=106)x[1]*c[1]+x[2]*c[2]+.....+x[n]*c[n]=v(v<=10^6),f(x[1],x[2],...,x[n])=∑ni=1x[i]f(x原创 2015-05-19 13:10:24 · 1448 阅读 · 0 评论 -
sgu-247 Difficult Choice
题目大意:给你一个奇质数p(p<1000)p(p<1000),现在有一个集合{1,2,3......2p}\{1,2,3......2p\},从中选出恰好pp数,使得这些数的和为pp的倍数,要你求出有多少种取法。解题思路:首先我们将其分成两个集合A={1,2,3.......p},B={p+1,p+2........2p}A=\{1,2,3.......p\},B=\{p+1,p+2........原创 2015-05-18 13:42:16 · 903 阅读 · 0 评论 -
sgu-246 Black & White
题目大意:给你一个2∗N−12*N-1个珠子组成的环形项链,珠子只有黑色和白色两种颜色,输入2∗N−12*N-1,要你求出这串项链中最少要有多少个黑色珠子(MAXMAX),使得对于所有拥有MAXMAX个黑色珠子的项链总可以找到一对黑色珠子使得去掉这两个黑色珠子将项链分成两段并且其中总有一段珠子的个数为N。输出这个MAXMAX。解题思路:首先我们观察发现,ans<=Nans<=N,这是显然的,但是显然原创 2015-05-17 15:05:43 · 881 阅读 · 0 评论 -
sgu-244 Height, Bisector and Median
题目大意:给你一个三角形,已知一条边上的高AHAH和中线AMAM的长度,以及对应角的角平分线ADAD长度,要求你求出这个三角形,然后用坐标输出。解题思路: 首先我们脑补可得,有解的情况只可能是(a=b && b=c) || (c>b && b>a)(a=b && b=c) || (c>b && b>a)否则就输出”NONO”。 然后重点就是怎么求ans,首先根据答案的任意性,我们显然可以令定点为原创 2015-05-15 21:42:32 · 849 阅读 · 0 评论 -
sgu-243 Broken Chessboard
题目大意:给你一个20∗2020*20的桌面,上面有一些用不同字母标号的联通块,联通块可以旋转90,180,27090,180,270度,(为’.’则表示是桌子)。已知这些联通块是由一个N∗N,(N<=5)N*N,(N<=5)的网格拆开得到的,要你求出一种拼接方案拼出N∗NN*N的网格。解题思路:首先我们看到这么小的NN,明显是暴力。 然后就是如何暴力了。 首先我们先处理出每一个联通块,并且求出原创 2015-05-15 13:16:26 · 844 阅读 · 0 评论 -
sgu-242 Student's Morning
题目大意:有NN个人,KK个大学,每个人有GiG_i个心仪的学校,为集合SiS_i,然后然后这NN个人可以去任意一个且仅一个他心仪的学校,问是否可以使得KK个学校每个学校都有不小于22个人去。如果没有,输出”NONO”,否则输出”YESYES”,然后接下来KK行,每行一个数,表示去第ii个学校的人有几个,接下来输出那几个人去哪个学校。PS:PS:有的人可以不去学校,只要满足每个学校有22个及以上的人原创 2015-05-14 13:25:20 · 865 阅读 · 0 评论 -
sgu-241 The United Fields of Chessboardia
题目大意:给你一个N∗NN*N和M∗MM*M的棋盘,他们如图摆放: 左下角是N∗NN*N,然后要你求出在这样一个棋盘上放置K个车的方案数。 PS:PS:车是可以隔空攻击的,比如两个3∗33*3的棋盘,他们平行放置,然后中间没有相连,但是左边的棋盘中的车是可以攻击到右边棋盘的!!!解题思路:首先根据对称性,我们可以有:if(W<H) swap(W,H); 然后由于隔空也可以攻击,我们可以有:原创 2015-05-13 19:56:14 · 1234 阅读 · 0 评论 -
sgu-240 Runaway
题目大意:给你一张无向图,点数为N(N<=100)N(N<=100),边数为M(M<=10000)M(M<=10000),起点为SS,终点为一个集合EndEnd,且|End|=E|End|=E,然后对于每条边,有55个参数,Ai,Bi,Ti,Ri,PiA_i,B_i,T_i,R_i,P_i,分别表示边ii连在Ai,BiA_i,B_i间,假设你到边ii的一端的时候已经走过的距离为DD,那么你到达另一端原创 2015-05-11 20:54:26 · 669 阅读 · 0 评论 -
sgu-239 Minesweeper
题目大意:给你一个2∗N2*N的扫雷棋盘,我们假设是22列NN行(反正无所谓),摈并且第11列没有雷,然后题目已经告诉你第一列的格子点开后中间的数字。然后要你求第二列有多少种布雷的方案。解题思路:首先你得会玩扫雷。。(不会的出门左转阳台不送) 然后我们观察可以发现,如果我们确定了第22列第11行,那么我们就可以推出所有的雷了,所以我们只需要枚举一下第22列第11行是否有雷就行了,时间复杂度O(N)原创 2015-05-11 17:26:32 · 780 阅读 · 0 评论 -
sgu-238 Uncle Vasya and Bags for Potatoes
题目大意:给你nn个背包,然后输入nn个数xix_i,表示第i个背包包含了多少个背包(目标状况)。然后要你求有多少种初始情况可以达到目标状况。解题思路:显然对于这种包含关系我们很容易就想到了树上的关系,包含关系就是父亲与儿子的关系,然后在最外面的背包我们把他们都连在一个根节点上。然后一次操作就相当于找一棵子树。然后我们发现如果我们对同一个背包做两次操作相当于没有做,然后我们如果在初始状态上对地上的背原创 2015-04-20 21:52:28 · 664 阅读 · 0 评论 -
sgu-236 Greedy Path
题目大意: 给你一个N个点,M条边的有向图G,每一条边有两个属性:cost,time。然后要你求出一个环T使得Σcost[u]/Σtime[v](u,v∈T)Σcost[u]/Σtime[v](u,v∈T)最大。解题思路: 我们要求最大值,一个很直观的思路就是二分答案,然后那么题目就变为询问是否存在一个环T使得使得Σcost[u]/Σtime[v](u,v∈原创 2015-03-11 22:24:12 · 879 阅读 · 1 评论 -
sgu-234 Black-White King Strikes Back
题目大意:给你一个n*m的0,1矩阵(n,m两个士兵相邻,问最多可以放多少个?解题思路:首先对根据i+j的奇偶性构建二分图,然后跑一个最大匹配,然后ans=1的个数-最大匹配数应该脑补一下就行了吧。。。。。然后就是输出的问题了。首先找到在二分图匹配中没有被匹配到得点,然后将其置为放置士兵,然后在从这个点往周围走,如果周围的点是二分图中匹配的点,我们设这个点为原创 2015-03-10 13:41:42 · 985 阅读 · 0 评论 -
sgu-230 Weighings
题目大意:给你一个n个点,m条边的有向图,然后要你求出一条经过所有点的路径,输出第i个点是第几个经过的。解题思路:话说这道题目我看了好久才看懂啊,毕竟英语差啊。。。。。很水的一道题目,就是一遍拓扑排序就行了,没什么可讲的了。。。AC代码:#include #include #include #include #include #includ原创 2015-02-01 23:02:47 · 912 阅读 · 0 评论 -
sgu-110 Dungeon(计算几何)
题目大意:给出n个球(n原创 2014-10-29 12:56:24 · 761 阅读 · 0 评论 -
sgu-101 Domino 欧拉路径
题目大意:原创 2014-10-29 13:27:42 · 905 阅读 · 0 评论 -
sgu-102 Coprimes 暴力GCD直接求解
题目大意:摘自nocow描述对于给定的N(1输入输入文件只有一行,整数N。输出输出相应的答案。输入样例9输出样例6原创 2014-10-29 19:06:39 · 701 阅读 · 0 评论 -
sgu-163-Wise King (水到不忍直视)
题目大意: 首先看了这题目原创 2014-10-30 22:56:10 · 827 阅读 · 0 评论 -
sgu-180 Inversions 裸题:求逆序对个数
题目大意:给你一个n,和n原创 2014-11-17 12:52:03 · 834 阅读 · 0 评论 -
sgu-184 Patties 果然是一道好(shui)题
题目描述 Petya要做馅饼给朋友吃,告诉你他有多少面粉,牛奶和白菜,告诉你一个馅饼要多少材料,问你最多可做多少馅饼?[编辑]输入 输入文件包含整数P,M,C,K,R和V,中间用空格和换行符分开(1 <= P,M,C,K,R,V <= 10000)。[编辑]输出一个整数,答案.[编辑]样例输入 3000 1000 500 30 15 60原创 2014-11-17 13:12:16 · 624 阅读 · 0 评论 -
sgu-133 Border
题目大意:在A和B的边界出有N个前哨站。对于每一个前哨站 k,他的管辖范围[Ak,Bk]是已知的。由于经济原因,A国总统决定减少一些前哨站。多余的前哨站都会被抛弃。我们定义i号前哨站是多余的如果存在另一个前哨战j满足 Aj输入:第一行是整数N (1输出:输出多余的前哨站个数 。原创 2014-11-17 13:18:47 · 569 阅读 · 0 评论 -
sgu-169 Numbers 很好的数学题
sgu169 很好的数学题原创 2014-11-19 18:59:56 · 863 阅读 · 0 评论