// poj1804 #include<algorithm> #include<iostream> #include<cstdlib> #include<cstring> #include<cstdio> #include<cmath> #define LL long long #define inf 2147483640 #define Pi acos(-1.0) #define free(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout); ...
POJ1804——Brainman(水题) 解题思路: 一个乱序序列的 逆序数 = 在只允许相邻两个元素交换的条件下,得到有序序列的交换次数 直接求逆序数 把S[i]和s[i+1~n]的元素逐个比较,如果s[i] > s[k] (k∈[i+1,n]) 则逆序数t++ O(n^2)算法 1#include<iostream>2usingnamespacestd;3intmain(){4intt...
POJ 1804 Brainman、 EOJ 3234 Sort(归并排序+逆序对) 题目http://poj.org/problem?id=1804 题意:求数组中的逆序对个数。逆序对指的是满足ai > aj的数对(ai, aj)。 变形:http://acm.ecnu.edu.cn/problem/3234/ 给定一个无序序列,每次只能交换相邻两个数字,求最小的交换次数。(算法是每次都将最大的...
poj1804-Brainman 听说有笔试题。复习了下逆序对。 #include <iostream> #include <stdio.h> #include <cstring> #include <string> using namespace std; int a[1005]; int x[1005]; int ans=0; void Union(int l,int r){ int mid=(l+r)>>1; int cnt=0; int ll=l,rr=mid+1; while(ll<...
POJ 1804(最小相邻数移动) 题目大意:对乱序列相邻2数移动,使得用最小步数使其有序 解法:归并排序 定理: 一个乱序序列的逆序数 = 在只允许相邻两个元素交换的条件下,得到有序序列的交换次数 Program P1804; const maxn=1000; Var tt,i,j,k,n,ans:longint;...
1804(逆序对) 2084(经典组合数学问题) 2187(用凸包求最远点对,求出凸包后应该有O(N)的求法,可我就是调不出来) 2195(二分图的最佳匹配) 2242(计算几何经典) 2295(等式处理) 2353(dp,但要记录最佳路径) 2354(立体解析几何) 2362(搜索好题) 2410(读懂题是关键) ...
2.DP(动态规划) 3.贪心 4.图论 //Dijkstra、最小生成树、网络流 5.数论 //解模线性方程 6.计算几何 //凸壳、同等安置矩形的并的面积与周长 7.组合数学 //Polya定理 8.模拟 9.数据结构 //并查集、堆 10.博弈论 1、 排序 1423, 1694, 1723, 1727, 1763, 1788, 1828, 1838, 1840, 2201, 2376, ...
按照ac的代码长度分类(主要参考最短代码和自己写的代码) 短代码:0.01K--0.50K;中短代码:0.51K--1.00K;中等代码量:1.01K--2.00K;长代码:2.01K以上。 短:1147、1163、1922、2211、2215、2229、2232、2234、2242、2245、2262、2301、2309、2313、2334、2346、2348、2350、2352、2381、2405、2406; ...
1804(逆序对) 2084(经典组合数学问题) 2187(用凸包求最远点对,求出凸包后应该有O(N)的求法,可我就是调不出来) 2195(二分图的最佳匹配) 2242(计算几何经典) 2295(等式处理) 2353(dp,但要记录最佳路径) 2354(立体解析几何) 2362(搜索好题) 2410(读懂题是关键) ...