给一个字符串包含大小写字符,规定'A'
用裸的dfs+map判重 写了一遍超时了,那种机智的dfs方法没有怎么看懂。。
最开始用的set+next_permutation,太年轻,也超时了。。。
运用一个next_permutation()函数即可,头文件
注意要先将字符串sort一遍,然后next_permutation()也要把比较函数cmp传进去,原来都不知道可以三个参数的。。
...
分类:
其他好文 时间:
2015-04-29 21:42:06
阅读次数:
123
#include
#include
struct edge{
int u;
int v;
int w;//为了方便排序这里穿件一个结构体来存储边的关系
}e[10];
int n,m;
int f[10]={0},sum=0,count=0;//并查集需要得到的一些变量
//f数组大小根据实际情况来设置,要比n的最大值大1
//排序
int cmp(const void *a,const voi...
分类:
其他好文 时间:
2015-04-28 16:11:27
阅读次数:
124
冒泡排序letcompare=(n1,n2)=>n1-n2;letbubbleSort=(arr,cmp=compare)=>{for(leti=0;i<arr.length;i++){for(letj=i;j>0;j--){if(cmp(arr[j],arr[j-1])<0){[arr[j],arr[j-1]]=[arr[j-1],arr[j]];}}}returnarr;};插入排序letinsertionSort=(arr)=>{for(leti=0;..
分类:
编程语言 时间:
2015-04-27 15:28:37
阅读次数:
157
冒泡排序
let compare = (n1, n2) => n1 - n2;
let bubbleSort = (arr, cmp = compare) => { for (let i = 0; i for (let j = i; j > 0; j--) { if (cmp(arr[j], arr[j - 1]) [arr[j], arr[j - ...
分类:
编程语言 时间:
2015-04-27 13:13:35
阅读次数:
141
分析:贪心,每次优先取需要食物的重量和猫食的重量相比最大的,所以先要按比值进行排序,注意J[i]和B[i]要声明为实型,声明为整形就挂了。
#include
#include
using namespace std;
struct FAT
{
double f,j;
double avg;
} fat[1005];
bool cmp(FAT a,FAT b)
{
if(a.av...
分类:
其他好文 时间:
2015-04-27 09:50:08
阅读次数:
84
模板#include#include#includeusing namespace std;#define N 100001int sa[N],t[N],t2[N],tong[N],n;char s[N];inline bool cmp(int *y,int i,int k){ return (y[...
分类:
编程语言 时间:
2015-04-26 18:03:05
阅读次数:
126
Descrtion:Please help Xiao Ming Write a Super Fast Function which result is like below:int cmp(int a, int b, int c){ SuperLong factorial = 1; for (int...
分类:
其他好文 时间:
2015-04-26 15:00:36
阅读次数:
171
简单的自定义排序
#include
#include
#define maxn 300+5
using namespace std;
struct stu
{
string name;
int score;
int lev;
};
bool cmp(stu x,stu y)
{
if(x.score==y.score) return x.lev<y.lev;
return x.scor...
分类:
编程语言 时间:
2015-04-26 09:27:51
阅读次数:
153
重载4个辨识函数名函数形参表类的名称成员函数的const属性函数指针#include#include#includeusingnamespacestd;bool(*cmp)(intx,inty);boolls(intx,inty){couty)a=a;}普通对象可以调用const函数,也可以调用非c...
分类:
编程语言 时间:
2015-04-24 20:56:11
阅读次数:
185
#include
#include
#include
using namespace std;
struct node
{
int left,right;
}c[10005];
bool cmp(node x,node y)//按照右端点排序
{
if(x.right<y.right) return true;
if(x.right==y.right&&x.left<y.left) ...
分类:
其他好文 时间:
2015-04-24 16:26:45
阅读次数:
117