const

hdu 5241 Friends(找规律?)

我只是一个虾纸丫 提交于 2020-03-26 02:58:08
Friends Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 1350 Accepted Submission(s): 634 Problem Description Mike has many friends. Here are nine of them: Alice, Bob, Carol, Dave, Eve, Frank, Gloria, Henry and Irene. Mike is so skillful that he can master n languages (aka. programming languages). His nine friends are all weaker than he. The sets they can master are all subsets of Mike's languages. But the relations between the nine friends is very complex. Here are some clues. 1. Alice is a nice girl, so her subset is a superset of Bob's.

Vector——C++实现

依然范特西╮ 提交于 2020-03-26 00:17:47
     在学习数据结构的时候,考虑将所有的容器自己实现一遍,可以加深对数据结构的理解,同时需要运用拷贝控制和泛型编程的知识。   vector特点:   1、占据一块连续的内存空间;   2、内部实现是通过管理了一个指针,只是当内存空间不够时,会重新分配一块更大的内存空间,通常是将容量扩大一倍;   3、vector对尾部操作很方便,对头部或者插入都需要O(n)的时间复杂度;   采用模板实现泛型类vector,为了支持大多数的编译器,将实现文件全部放在头文件中,不采用分离编译的方式。   说明:   1、只实现了部分函数的功能,但是类似的可以定义其他的函数;   2、迭代器只是采用定义为指针的方式,这种方式比较简单,但是不能实现迭代器完全的功能。不过迭代器的本质也是将这个指针封装成一个类。在我的另一篇博客里,通过实现了迭代器类来实现List可以参考: http://www.cnblogs.com/liuteng/p/6006533.html 1 /************************************************************************/ 2 /* 对vector的实现 */ 3 /************************************************************************

ES6 数组扩展

这一生的挚爱 提交于 2020-03-25 23:21:10
结合扩展运算符使用 function foo(a,b,c){ console.log(a,b,c); } foo(...[1,2,3]);//将数组展开,一一对应 用法: const arr=["cyy",18,["html","css"]]; function info(name,age,hobby){ console.log(`我叫${ name },我今年${ age }岁,我喜欢${ hobby.join("和") }`); } info(arr[0],arr[1],arr[2]); //使用扩展运算符 info(...arr); //使用apply达到类似效果 //1、第一个是对象,如果使用apply方法的函数中有this使用,可以指定对象,改变this的指向 //2、第二个参数是数组 info.apply(null,arr); //Math.max() 求最大值 const arr=[1,11,35,3]; //扩展运算符展开数组 console.log(Math.max(...arr)); //apply展开数组 //方法.apply(this,数组) console.log(Math.max.apply(null,arr)); 使用扩展运算符合并数组 const arr1=[1,2]; const arr2=[3,4]; //合并数组 const narr1=[11

ES6 对象扩展

假如想象 提交于 2020-03-25 23:16:08
//ES5 对象 const getInfo=(id=1)=>{ //ajax... const name="cyy"; const age=18; return { name:name, age:age, say:function(){ console.log(this.name+this.age); } } } const cyy=getInfo(); //ES6 对象的简洁表示法 const getInfo2=(id=1)=>{ //ajax... const name="cyy"; const age=18; return { name,//会去找同名变量 age, say(){//方法可以省略冒号 console.log(this.name+this.age); } } } const cyy2=getInfo2(); 属性名表达式 const cyy={ name:"cyy", age:18, "#^":"不规范的属性名要用单引号或者双引号" } //ES6 const key="#^"; const cyy2={ name:"cyy2", age:18, [key]:"ES6使用[]" } [ ]里可以有表达式 //ES6 const cyy2={ name:"cyy2", age:18, ["aa"+"bb"+"cc"]:"ES6使用[]" } [ ]

ES6 函数扩展

ぐ巨炮叔叔 提交于 2020-03-25 21:20:54
函数扩展之默认参数 { function add(a,b=99){ console.log(a,b); } add(1);//1 99 //参数b可以读取到之前的参数a function add2(a,b=99+a){ console.log(a,b); } add2(1);//1 100 //参数b不能读取到自身参数b function add3(a,b=99+b){ console.log(a,b); } add3(1);//报错 //参数b不能读取到之后的参数c function add4(a,b=99+c,c=2){ console.log(a,b); } add4(1);//报错 } 默认参数结合解构赋值 { function Person({name,age=18}={}){ console.log(name,age); } Person();//undefined 18 function Person2({name,age=18}={name:"cyy"}){ console.log(name,age); } Person2();//cyy 18 function Person3({name,age=18}={name:"cyy"}){ console.log(name,age); } Person3({name:"cyy2"});//cyy2 18 }

P4081 [USACO17DEC]Standing Out from the Herd P [广义SAM]

一世执手 提交于 2020-03-25 20:18:47
我们直接把重复的部分去掉。 \(\sum len_i - len_{fa_i}\) #include <bits/stdc++.h> using namespace std; const int maxn = 2e5 + 62; char s[maxn], str[maxn]; int tot = 0 ; long long Ans[maxn] ; struct SAM { int ch[maxn][26], cnt, len[maxn], fa[maxn]; SAM() { cnt = 1; } int ins(int c, int las) { int p = las, np = ++cnt; len[np] = len[p] + 1; for (; p && !ch[p][c]; p = fa[p]) ch[p][c] = np; if (!p) { fa[np] = 1; } else { int q = ch[p][c]; if (len[q] == len[p] + 1) { fa[np] = q; } else { int nq = ++cnt; memcpy(ch[nq], ch[q], sizeof(ch[q])); fa[nq] = fa[q], fa[q] = fa[np] = nq, len[nq] = len[p] + 1; for (; p && ch

百度搜索

喜欢而已 提交于 2020-03-25 19:32:57
3 月,跳不动了?>>> /** @module 百度地图搜索服务 / import gcoord from "gcoord"; / * EPSG3857 坐标系 在指定的区域执行关键字搜索 @param {string} keyword @param {[number,number,number,number]} extent 范围[minx,miny,maxx,maxy] 是 @returns {AsyncIterable<Feature>} 返回可异步迭代的要素结果集 返回的 EPSG3857 */ async function search(keyword, extent) { const pageCapacity = 50;/ 单页最多支持50个结果 / let [minx, miny, maxx, maxy] = extent; let centerPoint = [(minx + maxx) / 2, (miny + maxy) / 2] centerPoint = gcoord.transform(centerPoint, gcoord.EPSG3857, gcoord.BD09); const ls = new BMap.LocalSearch(new BMap.Point(centerPoint[0], centerPoint[1]), {

ES6 字符串扩展+正则扩展+数值扩展

会有一股神秘感。 提交于 2020-03-25 17:10:32
模版字符串 ``反引号表示 var cyy={ name:"cyy", age:18, say:function(){ console.log('我叫'+this.name+',我今年'+this.age+'岁'); }, say2:function(){ console.log(`我叫`+this.name+`,我今年`+this.age+`岁`);//模板字符串可以替代单引号或者双引号 }, say3:function(){ console.log(`我叫${ this.name },我今年${ this.age }岁`);//可以用${}替代字符串拼接 }, say4:function(){ console.log(`我叫${ `Miss ${this.name}` },我今年${ this.age }岁`);//${}可以嵌套 }, say5:function(){ console.log(`我叫${ `Miss ${this.name.toUpperCase()}` },我今年${ this.age }岁`);//${}可以使用字符串方法 } } cyy.say(); cyy.say2(); cyy.say3(); cyy.say4(); cyy.say5(); 普通方式渲染数据 //模拟ajax获取到数据 function getList(){ //ajax

Issue when using pointer to line tokens in C

十年热恋 提交于 2020-03-25 12:34:04
问题 I have created a program that requires reading a CSV file that contains bank accounts and transaction history. To access certain information, I have a function getfield which reads each line token by token: const char* getfield(char* line, int num) { const char *tok; for (tok = strtok(line, ","); tok && *tok; tok = strtok(NULL, ",\n")) { if (!--num) return tok; } return NULL; } I use this later on in my code to access the account number (at position 2) and the transaction amount(position 4):

C++中的模板那点事

[亡魂溺海] 提交于 2020-03-25 07:37:20
1.什么是模板 假设现在我们完成这样的函数,给定两个数x和y求式子x^2 + y^2 + x * y的值 .考虑到x和y可能是 int , float 或者double类型,那么我们就要完成三个函数: int fun(int x,int y); float fun(float x,float y); double fun(double x,double y); 并且每个fun函数内部所要完成的操作也是极其的相似。如下: View Code 1 int fun(int x,int y) 2 { 3 int tmp = x *x + y * y + x * y; 4 return tmp; 5 } 6 float fun(float x,float y) 7 { 8 float tmp = x *x + y * y + x * y; 9 return tmp; 10 } 11 double fun(double x,double y) 12 { 13 double tmp = x *x + y * y + x * y; 14 return tmp; 15 } 可以看出,上面的三个函数体除了类型不一样之外,其他的完全一样,那么如果能够只写一个函数就能完成上面的三个函数的功能该多好呢?如果从这三个函数提炼出一个通用函数,而它又适用于这三种不同类型的数据,这样会使代码的重用率大大提高