![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SCAU周训
Jetiaime
这个作者很懒,什么都没留下…
展开
-
SCAU周训8-G:URAL - 1821
1.题目描述:2.题意:给n个人,以及他们跑步所需要的时间,现在比赛的规则是:按名次依次开始跑,下一位要比上一位慢30s开跑,现在问:到达终点时,第i个人暂时是第一名的人数,以及其姓名的字典序输出。3.思路:模拟。 这是一道阅读理解题,你永远可以相信标哥翻译。 我们首先先按照罚时跑——也即比赛时候的真正的比赛时间排序,然后遍历一下数组,如果他跑步所需的时间是现在最少的,那么就加入到答案当中。4.代码://G//#include<bits/stdc++.h>//#pragma原创 2020-07-07 22:09:52 · 193 阅读 · 1 评论 -
SCAU周训8-A:POJ - 1836
1.题目描述:2.题意:让你从原序列中抽出几个人,使得每个人都可以看不到左边或者右边的人。最少抽出多少个人?!3.思路:DP[LIS]。 如果要看不到人,那么必定这个队列是一个单调的序列,但是它可以选择方向,那么就是一个类似于三角形一样的序列,从中间往两边递减。要求最少的人,我们就要求一个最长的递增序列的长度,典型LIS。这题两边的思路可以直接变成从头一次,然后反过来再一次。那么组合的时候就选左边一个,右边一个,选最大的就OK了。4.代码://A#include<iostream>原创 2020-07-07 22:04:36 · 148 阅读 · 0 评论 -
SCAU周训8-C:计蒜客 - A1108
1.题目描述:2.题意:给出一个图,求所有刨去某个点的最短路径的权值和。3.思路:1)暴力。【O(n4),TLE】。直接在循环1->k里跑floyd。2)分治+floyd。 【O(n3logn),AC】。这个思路我还得学个几百年。 直接求循环肯定是T的,300也承受不来4次方的摧残啊!我们来想想,每次挖掉一个点,对图重新求一遍最短路,其实有非常多的边的信息是不变的。这个重复计算我们可以去掉!那么我们该怎么利用上之前的信息呢?!分治这个时候就给了我们一个思路,我们可以先算一部分的,然后把这一原创 2020-07-07 21:45:42 · 207 阅读 · 0 评论 -
SCAU周训4-G:URAL - 1204
1.题目描述:2.题意:x*x=x(mod n),给定n,求出所有小于n的x,升序输出。3.思路:1)扩展欧几里得。【待补】2)逆元+费马小定理。 我们来看一个平凡解——x=0。由于这个是看得出来的,我们就直接输出,然后看一个也是比较平凡的解——x=1。x=1是怎么来的呢?当x与n互质的时候,xx=x(mod n)->x=1(mod n) 那么在x<=n的范围内,x=1。顺着这个思路,我们想:x和n不互质呢?我们分别讨论一下:假设n=pq,则:当gcd(x,n)=p时,有:x=1(原创 2020-07-03 23:21:42 · 143 阅读 · 0 评论 -
SCAU周训4-F:URAL - 1057
1.题目描述:2.题意:给你一个区间[X,Y],计数区间中所有由K个不同的B的幂的和组成的数字的个数。3.思路:数位dp。 题意说白了:计数B进制下,数字由K个1其余都是0组成的数字的个数。4.代码://F#include<bits/stdc++.h>#define rep(i,a,b) for(int i=(a);i<(b);++i)#define mem(a,b) memset(a,(b),sizeof(a))using namespace std;typed原创 2020-07-03 21:28:53 · 129 阅读 · 0 评论 -
SCAU周训1-E:CodeForces - 1005F
1.题目描述:2.题意:给你一个图,希望你能找出有多少种方式,使得这个图从1到达任意点所需要的点数之和最小。3.思路:最短路径树。 这题考了一个比较少见的数据结构——最短路径树。 由于我们做单源最短路的时候,其实出现的是一个树状的结构,但是我们并没有去记录下这棵树,所以我们只需要寻找每个节点的前驱就ok啦。对于这题来说,我们图上的边权全都是1,所以我们可以直接进行bfs,然后先记录下所有点到1的距离,因为前驱有很多,所以我们再进行dfs找前驱,如果选这个前驱,就在边上打上‘1’的标记,否则打原创 2020-06-29 13:28:15 · 169 阅读 · 0 评论 -
SCAU周训3-H:URAL - 1501
1.题目描述:2.题意:给你两个01序列,希望你生成一个01序列,使得其在生成过程中,01的差值不超过1。输出可能的选择顺序【任意一个】,或者“Impossible”。3.思路:dfs+记忆化。1)暴力dfs+记忆化路线剪枝。记录下选择的左右堆以及选择的0和1的个数,碰到重复走的路之间剪枝掉。部分代码:int n,m;char a[maxn],b[maxn];int tot;int ans[maxn<<1];int dp[maxn][maxn];bool flag;原创 2020-06-28 00:16:01 · 147 阅读 · 0 评论 -
SCAU周训2-H:HDU - 4135
1.题目描述:2.题意:问A到B的范围内,与N互质的数字有多少个。3.思路:唯一分解定理+容斥原理。 这题我们先来看看互质的条件:gcd(a,b)==1。1)那么我们可以先把N分解,然后划去A到B范围内,N的质因数的倍数。 那么问题就转化为,求A到B范围内,N的质因数的倍数的多少(用num表示),然后最后的答案就是:B-A+1-num。2)那么我们下一个问题就是,如何求倍数的数量了。由于我们直接求A到B的数量,边界比较麻烦。所以我们转换为:1到B的以及1到A-1的数量,然后相减就好啦!3)那原创 2020-06-27 01:27:13 · 138 阅读 · 0 评论 -
SCAU周训2-B:HDU - 5313
1.题目描述:2.题意:给我们一个二分图,要我们增加边,使得这个二分图变成完全二分图。问我们能够最多增加多少条边。3.思路:二分图染色+dp+bitset优化。 有一说一,这题数据是真的水,我自己造的数据都能卡AC代码。1)我们首先想想如何使得二分图的边数最多:那么自然是当两边的点数都接近n/2时候,边的数目是最多的。那么我们自然是要求出两边点的数目啦,其实我们只需要其中的一边的数目就够了,因为另一边的数目我们可以直接求出来。所以我们把最大加边问题,转化为:求一边点能够多么接近n/2个点,求这原创 2020-06-27 00:13:45 · 124 阅读 · 0 评论 -
SCAU周训1-H:POJ - 3061
1.题目描述:2.题意:给你长度为N的序列,选出一段最短的连续子序列使得其和大于等于S。3.思路:a)双指针/尺取法。 固定两个指针i和j,如果和不够S就右端点挪,足够就左端点挪。扫一遍记录下最短就OK了。//H//#include<bits/stdc++.h>//#pragma GCC optimize(3,"Ofast","inline")#include<iostream>#include<string>#include<algorith原创 2020-06-25 22:01:31 · 131 阅读 · 0 评论 -
SCAU周训1-B:URAL - 1003
1.题目描述:2.题意:已知一个01序列,给出若干个区间以及奇偶信息,信息代表:在[l,r]区间里,1数目的奇偶性。问在这些信息里,第一个出错的是哪一个信息,如果没有,输出所有信息数m。3.思路:带权并查集。 【老子连老司机树都想到了但是就是不会带权并查集QwQ】如果做过HDU-3038的话会发现,这两题惊人的相似。都要求与之前信息相矛盾的信息。对于带权并查集我们要先知道两个操作:找祖先以及合并集合:a)找祖先,也就是:find操作。//par[x]:x的祖先;val[x]:x与祖先之间原创 2020-06-25 21:53:28 · 149 阅读 · 0 评论 -
防爆秃击队——组队5:ICPC North America Qualifier Contest 2015 D. Circuit Counting
1.题目描述:2.题意:给出N个向量,让一个集合内向量的和为0,求集合数目。3.考虑到N<=40,选择暴搜,同时,40的数量级是无法正常暴搜的,所以我们得用另外的搜索:双向dfs,meet in the middle 算法。考虑把集合分为前半部分与后半部分,我们先跑出前半部分能组合的点(注意,这里会有一个空集(即:(0,0)),这个非常重要!),然后我们在跑后半部分答案的时候与前半部分组合,空集保证了后半部分可以独立地被计入答案中,剩下的就是前后的组合,由于后半部分也会有独立的空集,故前半部分原创 2020-05-19 00:30:16 · 165 阅读 · 0 评论 -
防爆秃击队——组队11:Gym - 102483K K - Kleptography
1.题目描述:John likes simple ciphers. He had been using the “Caesar” cipher to encrypt his diary until recently, when he learned a hard lesson about its strength by catching his sister Mary browsing through the diary without any problems.Rapidly searching fo原创 2020-05-17 21:52:00 · 692 阅读 · 0 评论 -
防爆秃击队——组队训练11:Gym - 102483B B - Brexit Negotiations
1.题目描述:As we all know, Brexit negotiations are on their way—but we still do not know whether they will actually finish in time.The negotiations will take place topic-by-topic. To organise the negotiations in the most effective way, the topics will all be原创 2020-05-17 21:43:23 · 476 阅读 · 0 评论 -
SCAU 周训五
A - A CodeForces - 632B1.题目描述:Alice and Bob are playing a game. The game involves splitting up game pieces into two teams. There are n pieces, and the i-th piece has a strength pi.The way to split ...原创 2020-03-07 22:15:28 · 436 阅读 · 0 评论 -
SCAU 周训三
A - A HDU - 31831.题目描述:Kiki likes traveling. One day she finds a magic lamp, unfortunately the genie in the lamp is not so kind. Kiki must answer a question, and then the genie will realize one of h...原创 2020-03-04 13:06:48 · 377 阅读 · 0 评论 -
SCAU 周训二
A - A1.题目描述:*Pashmak decided to give Parmida a pair of flowers from the garden. There are n flowers in the garden and the i-th of them has a beauty number bi. Parmida is a very strange girl so she d...原创 2020-02-23 18:43:31 · 299 阅读 · 0 评论 -
SCAU 周训一
A - A HDU - 25441.题目描述:在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?Input输入包括多组数据。每组数据第一行是两个整数N、M(N<=100,M<=10000),N表示成都的大街上有几个路口,标...原创 2020-02-22 18:16:28 · 717 阅读 · 0 评论