CodeForces 489A (瞎搞) SwapSort】的更多相关文章

题意: 给n个整数(可能有重复),输出一个不超过n次交换的方案,使得经过这n次交换后,整个序列正好是非递减的. 分析: 首先说题解给的算法. 从左到右扫一遍,交换第i个数和它后面最小的那个数. 代码看起来大概是这个样子的: ; i < n; i++) { int j = i; for (int t = i; t < n; t++) if (a[j] > a[t]) j = t; if (i != j) answer.push_back(make_pair(i, j)); swap(a[i…
Problem H. Horrible Truth Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100610 Description In a Famous TV Show “Find Out” there are n characters and only one Horrible Truth. To make the series breathtaking all way long, the sc…
B. Cards 题目连接: http://www.codeforces.com/contest/626/problem/B Description Catherine has a deck of n cards, each of which is either red, green, or blue. As long as there are at least two cards left, she can do one of two actions: take any two (not ne…
题目链接 本来觉得这不是经典的贪心吗..果断水一次,wa了,看了看discuss,发现貌似不好水,土土的DP了一下,复杂度很高了,又T了...然后想想单调队列,二分什么的...不好往上加,直接搞了标记数组flag,暴力从大到小,遍历寻找,然后就过了...这算是优化吗,瞎搞... #include <cstring> #include <cstdio> #include <string> #include <iostream> #include <alg…
链接:https://www.nowcoder.com/acm/contest/104/B来源:牛客网 题意:A few days ago, WRD was playing a small game called Salty Fish Go. We can simplify the rules of the game as follows. 给你v,l,n,m代表有v个速度,下一行分别给出v个速度,l长的路,n个随机地点随机改变速度的加油站,m个随机地点宝藏.问拿到所有宝藏的时间期望. 题解:瞎…
题目链接:点我 题意:给定一个序列,询问是否能删除一个数让它成为非递减或者非递增的序列. 比如说 删除后的序列是1 3 3 5 或者5 3 3 1 或者1 3 5 或者5 3 1 都可以.只要满足删掉某个数,构成非递减或者非递增,就输出YES,如果不能就输出NO 正解(LIS求最长上升子序列): 正着来一遍,反着来一遍 注意要用upper_bound即可: 代码: #include<bits/stdc++.h> using namespace std; int Maxlen(int a[],i…
传送门 (<---可以点击的~) 时间限制(普通/Java):1000MS/3000MS     内存限制:65536KByte 描述 有些英语单词后缀都是一样的,现在我们需要从给定的一堆单词里面找出某个后缀的单词个数. 输入 输入有多组数据.每组第一行输入n,m,0<=n,m<=100000,第二行到n+1行:输入单词,每个单词仅有小写英文字母组成,长度不超过10.第n+2行到n+m+1行,输入要找的单词后缀. 输出 在n个单词里面找出输入单词后缀的单词个数,然后输出.每个数据与数据之…
安装ubuntu系统后有很多东西需要自己瞎搞一下,这里把一些瞎搞的过程记录在这里,方便以后重新装系统后重新配置. 一.安装. 可以在windows下制作启动盘(软碟通),然后开机u盘启动即可安装,预留出50G大小的硬盘差不多了. 安装过程中预留4G的交换空间,剩余的直接挂在到:/ 下即可: 其它的东西基本上不需要动了. 下面是基础的软件安装: 二.vim 安装命令: sudo apt-get install vim vim的基础配置:vim ~/.vimrc "=================…
题意: 百度. 思路: 如果该查询的R比前面的所有都大,那么前面所有都失效. 那么我先预处理出这些有效的. 那最坏的情况不就是栈里面元素(R)很多 n,n-1,n-2,n-3,n-4而且都是相反排序的... 总不能每次都那样循环一下,跟着他变吧. 所以找特性: 如果有序列132456 我的栈是 1 6 2 5 1 3 2 2 那么第一步从sort完:123456,那么这个a[6]=6肯定是确定了对吧. 继续看 2 5:我们能确定 a[5]=1,a[4]=2 对吧 继续看1 3 :我们能确定a[3…
分别记录J,O,I,的个数 cnt[char][i] 表示处理到第i位,char的个数 显然当且仅当 cnt[J][i] - cnt[O][i] == cnt[J][j-1] - cnt[O][j-1]  &&  cnt[O][i] - cnt[I][i] == cnt[O][j-1] - cnt[I][j-1] 时 i到j位是一个长为i-j+1的合法串 于是把状态压到一个 long long 里 map瞎搞就行 没去掉调试输出导致WA了四次QAQ #include<cstdio&g…
题意:略(忙着准备文化课...明天期中考啊.... 思路: 正解就是染色,2-sat搞: AC代码(虽然是错误的...数据水(过踏马的也行啊,起码打脸他啊!) 4 3 1 0 1 2 2 3 3 4 4 这个就挂了: #include <bits/stdc++.h> using namespace std; typedef long long LL; const int MAX=1010; const double q=(1+sqrt(5.0))/2.0; const double eps=1…
瞎搞题啊.找出1 1 0 0这样的序列,然后存起来,这样的情况下最好的选择是1的个数除以这段的总和. 然后从前向后扫一遍.变扫边进行合并.每次合并.合并的是他的前驱.这样到最后从t-1找出的那条链就是最后满足条件的数的大小. Room and Moor Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 307    Accepted…
题目链接 传送门 题意 你有\(n\)只怪,每只怪的伤害为\(a_i\),对手有\(m\)只怪,每只怪的伤害为\(b_i\),对手的怪有普通状态和防守状态(普通状态:如果你用攻击力为\(a_i(a_i\geq b_j)\)的怪去攻击对手第\(j\)只怪将会给对手造成\(a_i-b_j\)的伤害:防守状态则不会造成\(a_i-b_j\)的伤害),每只怪只能使用一次,怪一旦死亡就会消失. 用攻击力为\(x\)的怪去打攻击力为\(y(x\leq y\),\(x\geq y\)的情况上面说了\()\)的…
[JZOJ5281]钦点题解--瞎搞+链表 题目链接 于 暴 力 过…
彭博社今日消息,知名芯片制造商 Broadcom 公司正在就收购网络安全公司 Symantec 事宜进行高级会谈,因为 Broadcom 希望寻找半导体业务之外的机会,以实现多元化经营. 据称,在彭博社报道这则消息后,Symantec 的股价飙升了 22%,高达 27.35 美元,而 Broadcom 的股价则下跌 4%. 近年来,由于云安全公司正在抢占企业市场的份额,并且出现了一些新兴公司提供移动安全方案,面对竞争压力,Symantec 一直受到管理层动荡和核心业务被压制的困扰. 由于 Sym…
题目链接:http://codeforces.com/problemset/problem/489/A 题目意思:给出一个 n 个无序的序列,问能通过两两交换,需要多少次使得整个序列最终呈现非递减形式.这个交换次数最多为 n 次.如果原来已经非递减排列好,输出次数为0:否则不但要输出次数,还需要输出每次交换的数组下标. 比赛的时候想复杂了,用了pair来记录值和坐标,还要开多一个pair类型的 b 数组来保存已排好序的序列,然后跟原序列比较......哪个复杂啊---然后校园网12:00 断网了…
SwapSort 题目链接: http://acm.hust.edu.cn/vjudge/contest/121332#problem/A Description In this problem your goal is to sort an array consisting of n integers in at most n swaps. For the given array find the sequence of swaps that makes the array sorted in…
题目地址:http://codeforces.com/contest/459/problem/C C. Pashmak and Buses time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Recently Pashmak has been employed in a transportation company. The com…
A. SwapSort time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output In this problem your goal is to sort an array consisting of n integers in at most n swaps. For the given array find the sequence…
题意: 给你一幅图,你要用这些边构造一个树, s和t两个节点的度数不能超过ds dt 而且图是保证没有环 思路: 树的性质是:无环(已经保证),无向(保证),连通(还要判断) 首先把S,T点从图里剥离出来,就是把除S和T点搞成几个连通块 对于这些连通块有三种:只与S连的,只与T连的,还有一种是两个都连的, 然后就是要把S和T与那些连通块相连,保证连通. 由于对于S和T相连的点并不是连通块的老大,而且S和T连出去的点还可能同时在一个连通块里: 所以预处理一下S和T连接点的老大,塞到set里去去个重…
题目链接:https://codeforc.es/contest/1202/problem/B 题意: 给你一串数,问你插入最少多少数可以使x-y型机器(每次+x或+y的机器,机器每次只取最低位--%10)产生这个子序列. 解: 这题真的是...唉我真的,还是怪自己太弱吧,比如08888,8和前一个8相同的话你必须让机器输入东西(不能看着这串数反正都是一样就不输入). 就是预处理x-y型每次加(0~9)最少需要多少次就行了,刚上蓝就rank1900+,以后多多磨练吧. #define IOS i…
题 Description In this problem your goal is to sort an array consisting of n integers in at most n swaps. For the given array find the sequence of swaps that makes the array sorted in the non-descending order. Swaps are performed consecutively, one af…
这题第一次看的时候以为是区间替换,后来发现看错了,只是单纯的元素替换. 解题思路: 先对输入的序列加个数组排个序 遍历下来,如果和排序后的结果当前元素不同,设当前位置为 i, 则往下面找,设查找位置为j 使得满足 a[j] == b[i] && a[j] != b[j] 一次遍历即可.易得证 //#pragma comment(linker, "/STACK:16777216") //for c++ Compiler #include <stdio.h> #…
http://codeforces.com/gym/226123/problem/L 题解:手摸几组数据,发现一个规律:将n 质因数分解,答案就是 每个质因数/2+1后再乘起来. 然后考虑2的情况: 2 8 16 32 64 1 5 9 15 25 发现 2,16 要特判  另外8的因子对应乘5 交上去又发现表格填错了,2 对应的是2 不是1  然后就AC了. 正常做法是dfs #define _CRT_SECURE_NO_WARNINGS #include<cmath> #include&l…
题意:给定长度为N的01串,现在让你猜这个串,猜的次数要不超过N+500次. 每次你猜一个串,系统会返回N/2,或N,或0.当且当有N/2个位置猜对,N个位置猜对,其他. 思路:因为信息不多,没有关联性,所以前期只有瞎猜,直到猜到一个N/2,(如果是N也ok).猜到N/2之后,我们从这个N/2串考虑,有一半的位置是对的,有一半的位置是错的,那么我们先把第一位取反,后面挨个去取反验证,假设取反第i位,输出N/2,说明第i位和第1位正确性相反,否则相同.那么验证完后,只有两种情况,第一位是对的,第一…
哇咔咔,挂完. 靠着hack的100分挂在了rank167... 就是memset的问题,超时了:用map好了.. 思路: 标记a串以当前值为尾的上升子序列长度,然后还是搞b串,每次判一下当前值在a串是否有,有的话取小的和ans比较取大: #include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <algorithm> #incl…
题意:每个用户对数据库的查询请求都会首先用该数据库的服务器序列的第一个去执行任务,若第一个坏了,就由第二个执行.最多只会坏一个服务器.要求是考虑最多坏一个的情况下,所有服务器中执行用户查询的数目最大值与最小值之差不能超过1. 思路: 对于n>=m的情况,很容易能解决掉,关键是n<m就不好处理了.我的方法应该是最挫的,直接先给确定每个序列的第一个数字为1~~n的循环.第二个就每次放一个数,用贪心判断是否合法,合法就在放下一个序列的第二个数. #include<iostream> #i…
比赛时愣是没读懂 题意:有N 个城市 每一个城市都有 val 个 士兵 , 有几条路连接 当敌方攻击你的某个城市时 该城市以及与该城市相连接的城市的士兵总数 要大于 K 不大于 K 该城市就被攻陷.士兵被俘虏 则不能支援别的城市 求最后一共同拥有多少城市不被攻陷.以及士兵总数 思路:先计算该点能支援到的总士兵数 然后将  总数小于 K  的取出     减去相连的城市上的总士兵数 直到剩下的点都大于K #include <cstdio> #include <cstring> #in…
题目大意:有n辆火车,按一定的顺序进站(第一个字符串顺序),问是否能按规定的顺序出站(按第二个字符串的顺序出去),如果能输出每辆火车进出站的过程. 题目思路:栈的特点是先进后出,和题意类似,还有有一种情况是:开进来立马有开出去.并用vis[]数组的0,1标记进出站情况. 具体看代码 #include<cstdio> #include<cstring> #include<cmath> #include<queue> #include<algorithm&…
http://poj.org/problem?id=1013 题意:给你标记从A到L的石子,其中有一个石子,可能会轻于其它石子,也可能重于其它石子.你只能通过三次天平的测量去找到这个石子.天平的三个状态,even 两边一样重 up左重右轻 down左轻右重 思路:标记even状态的所有石子,再用一个计数器去记录up和down的石子的出现次数重就加1,轻就减1.(超重或超轻的石子只会有一种状态要么+要么-,其它的石子会因为这个石子的影响有两个状态所以允许+-的抵销)最后你只需要找出出现次数最大的一…