
ACM/ICPC_SWUST OJ
just_sort
Acdream.
展开
-
SWUST OJ 1137 STICKS
题目传送门//爆搜加剪枝的过程,自己剪枝太弱了,恶补中//经典搜索加剪枝#include <cstdio>#include <cstring>#include <cstdlib>#include <cctype>#include <cmath>#include <iostream>#include <algorithm>#include <vector>using namespace原创 2016-01-12 21:15:56 · 681 阅读 · 0 评论 -
信息新生训练 BFS,DFS 小朋友的专题作业
A,题目链接https://www.oj.swust.edu.cn/problem/show/1378 解法:DFS,经典的FloodFilld填充,找个点开始DFS,把这个点可以扩展到的点标记,然后答案加1,然后继续DFS其他没有被访问的点。#include<stdio.h>#include<queue>#include<iostream>#include<cstring>using n原创 2017-04-01 10:15:31 · 761 阅读 · 0 评论 -
2017信息ACM英雄定级赛(同步赛) 题解
A:寻找爱吃饭的你。 水题,按照题意,用map映射一下,然后遍历找最大值即可。#include using namespace std;map string, long long> mp;int main(){ //freopen("3.in", "r", stdin); //freopen("3.out", "w", stdout); int n;原创 2017-03-19 17:11:45 · 1001 阅读 · 0 评论 -
SWUST 2489 上决欺负HZF
【题意】由于HZF长得太帅,被各种人调戏是绝对的啦!今天上决十分的无聊,于是就去欺负HZF不会数据结构,嘻嘻。来点简单的嘛,免得峰哥报复,那就……HZF嘿嘿一笑:看我无敌版函数式平衡逆天启发式线段树!Input 多组。第一排两个个正整N,M;N <= 500,000。M <= 1000,000。接下来N个整数Ai(-500,000 <= Ai原创 2016-08-24 11:45:39 · 437 阅读 · 0 评论 -
SWUST OJ 2285
【解题方法】线段树区间合并典型题,维护区间左端点开始最大值,右端点结束最大值,以及整体最大值,还需要维护一下区间左端点和右端点的值,这样合并就方便了。【我的这份代码还是比较快的,在本oj跑到了第一名】【AC 代码】#include #include #include #include using namespace std;const int maxn = 100005;s原创 2016-08-24 11:16:20 · 990 阅读 · 0 评论 -
SWUST 2268 SB_cyh and his BST two (Treap名次树)
Input 多组数据(整个文件以输入 -1 结束)对于每组数据,有若干行(最多100000行),表示的意义如下:【A】 insert x 【B】 delete x【C】 predecessor x【D】 successor x【E】 Kth x【F】 rank x这6种操作的意义与上面的定义相对应!【G】 print 表示从小到大输出序列中的所有元素【H】 en原创 2016-08-08 16:27:50 · 826 阅读 · 0 评论 -
线段树离线 SWUST OJ 2459 Submissions of online judge
【题意】维护一个区间不同的数的个数。【解题方法】首先我们把所有查询区间记录下来,然后按照区间的右值排序,接着从左到右把每一个数更新到线段树中,并记录它出现的位置。如果一个数已经出现过,那么我们就把他上次出现的位置的值置为0,并更新它出现的位置。因为我们的查询区间是按右值排序的,因此把过去重复出现的数字置为0不会影响结果。当更新到某个区间的右值时,我们就查询一次该区间的答案,并把答案记下来。最后原创 2016-08-03 15:29:58 · 1033 阅读 · 0 评论 -
西南科技大学 信息工程学院 院赛 部分题题解,持续更新.
【萌萌院赛之A】【题目链接】点击打开链接【题意】由于中文题目,就不说题意!【解题思路】简单求根公式的应用!【AC代码】#include typedef long long LL;const int N=10010;const int M=10010;const LL MOD=1e9+7; int main(){ double x,v,a; while原创 2016-06-05 21:03:14 · 1729 阅读 · 0 评论 -
SWUST OJ 1768 n皇后问题
【题意】这题也是醉了,其实不用怎么剪枝啊,只需要把m==0的情况列个表,还一直以为m==1的时候列表,好毒。【分析】就是普通的n皇后问题,由于可能有一个点已经有皇后,开始的时候标记就行啦!其实暴力,全部打表也可以,可是还是不会呀!【AC代码】#include #include #include #include #include using namespace std;原创 2016-04-11 20:57:34 · 642 阅读 · 0 评论 -
SWUST OJ 2304 Lights Out
DescriptionLights Out 是一款非常考验人智力的益智游戏,你必须要尝试关闭所有的灯。游戏玩法:当你关掉或打开一个灯的时候,它周围(仅包括上下左右,斜对角的不算)的灯就会做相反的反应,譬如周围的灯本来是关掉的,当你关掉火或者打开中间的那个灯的时候,周围的灯就会自动变成打开,反之亦然。在Lights Out 中,一共有5行6列的灯,每盏灯初始可能关着,可能开着,你原创 2016-04-09 18:44:03 · 551 阅读 · 0 评论 -
SWUST OJ 1804 二进制
Description对于一串自然数序列0,1,2,3,4,5,6......,n。冰神给了你一个任务,就是求,0到n中,所有自然数的二进制码中的‘1’的个数举个例子:当n=5的时候十进制数 二进制数-------------------------0 01 12原创 2016-04-08 10:48:06 · 1020 阅读 · 0 评论 -
NOIP 金明的预算方案
【题意】题目描述 Description金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”。今天一早,金明就开始做预算了,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:原创 2016-04-07 14:03:26 · 2479 阅读 · 0 评论 -
swust oj 2474 F(k)
【题意】小明有一个不降序列(f(1),f(2),f(3),……),f(k)代表在这个序列中大小是k的有f(k)个。我们规定f(n)的前12项如下图。n 1 2 3 4 5 6 7 8 9 10 11 12f(n) 1 2 2 3 3 4 4 4 5 5原创 2016-03-24 21:17:34 · 1595 阅读 · 1 评论 -
SWUST oj 2478 最短路问题
【题目描述】题目【题意】中文题目,题意就不解释了【分析】用dis[u][x]表示到达u点,飞行符状态为x所需的最少时间。假设x=0表示飞行符未使用过,x=1表示已经使用过一次,x=2表示用过两次,很显然,x=0的状态,能转移到x=1(用一次)和x=0(不用),x=1的状态只能转移到x=2(再用一次或者不用了),x=2的状态只能转移到x=2(必须的)。最后从dis[1][0]状态开始,跑原创 2016-04-04 11:50:10 · 643 阅读 · 0 评论 -
SWUST 2530
公元2047年,人类已经无法阻止Ceph入侵地球了!上决╇ф凭借着他的黑科技,在公元2023年研制出了Nanosuit 1.0。二十三年过去了,Nanosuit已经进化到了Nanosuit 3.0版本,具有超强的隐身、护甲、力量等2015年的人不可想象的超人类功能,而且配备了最强大的武器:狩猎弓。上决╇ф为了拯救世界,决定装备上最强的Nanosuit 3.0成为Prophet。 上图为上决╇原创 2016-03-04 16:54:29 · 838 阅读 · 0 评论 -
Power oj 1782
DescriptionThere is n pillars, their heights are (A1,A2,A3,…An. You can jump at the top of the pillars. But you will lose abs(a[j]-a[i])*abs(j-i) power when you jump from i-th pillar to j-th pillar. At原创 2015-08-06 21:26:46 · 1205 阅读 · 0 评论 -
SWUSTACM 2017周赛一
A:多推几组样例可以发现合法的情况下,答案就是a/k+b/k,由于打的比赛场数是完整的,所以不存在的条件就是a%k=0并且b不等于0或者b%k=0并且a不等于0B:以图片上的字母对称,注意题上的i是对称的。C:方法一:前缀和加上二分,因为是整数,前缀和满足递增。由于查询的值<=5000,记忆化一下答案就可以了。二分的过程中,当二分到的和大于5000可以剪枝。方法二:利用two pointer O(n原创 2017-06-10 21:01:57 · 461 阅读 · 0 评论