【Tricks】STL容器使用指南

1.set.insert() 的返回值是 pair;, 其中bool表示是否插入成功
2.set/map当中的earse() 是完全没有检查机制的(我TM都比他写得好!),使用的时候一定要小心
3.set/map/priority_queue可以仅重载其中的比较符号,例如:

struct CMP{
	bool operator () (const int &a, const int &b){
		return a < b;
	}
};

set<int,CMP> S;
map<int,int,CMP> M;
priority_queue<int,vector<int>,CMP> Q;

4.map使用[]进行访问的时候,即使仅仅是查询、不是赋值,map仍然会新建一个节点
5.sort排序传进去的尾地址不会参与排序

【BZOJ 3790】神奇项链

题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3790
离线版题目:http://paste.ubuntu.com/17470379/
吐槽:板题,直接上代码不解释

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;

const int MAXN = 120000;

char pat[MAXN],chr[MAXN];
int n,l[MAXN],r[MAXN],len[MAXN],ord[MAXN];

namespace FenwickTree{
	#define BIT FenwickTree
	#define low(x) (x&(-x))
	#define INF 1000000000
	int arr[MAXN],buf[MAXN];

	inline void init(){
		for (int i=1;i<=n;i++)
			arr[i] = buf[i] = INF;
	}

	inline int query(int left, int right){
		if (right < left) return INF; else { int ret = INF; while (right >= left){
				if (right-low(right)+1>=left) ret = min(ret,arr[right]),right-=low(right);
				else ret = min(ret,buf[right]), right--;
			}
			return ret;
		}
	}

	inline void modify(int pos, int nv){
		if (buf[pos] > nv) {
			buf[pos] = nv;
			for (int i=pos;i<=n;i+=low(i)) if (arr[i] > nv) arr[i] = nv;
				else break;
		} else return;
	}
};

inline bool sort_cmp(const int &A, const int &B){
	return r[A] < r[B];
}

inline int manacher(){
	int m=n*2+1,itr=0;
	for (int i=1;i<=n;i++)
		chr[i*2-1] = '@',
		chr[i*2] = pat[i];
	chr[m] = '@'; chr[m+1] = '#'; chr[0] = '$';

	for (int i=1,p1,p2;i<=m;i++){ if (itr+len[itr] > i)  len[i] = min(len[2*itr-i],itr+len[itr]-i);
		else len[i] = 0;
		p1 = i-len[i]; p2 = i+len[i];
		while (chr[--p1] == chr[++p2]) len[i]++;
		if (itr+len[itr] < i+len[i]) itr = i;
	}

	for (int i=1;i<=m;i++)
		r[i] = i+len[i],
		l[i] = i-len[i],
		ord[i] = i;
	sort(ord+1,ord+m,sort_cmp);

	n = m; BIT::init(); BIT::modify(1,0);
	for (int j=1,i=ord[j],tmp;j<=n;j++,i=ord[j]){
		tmp = BIT::query(l[i],r[i]-1)+1;
		BIT::modify(r[i],tmp);
	}

	return BIT::query(m-1,m)-1;
}

int main(){
	while (~scanf("%s",pat+1)){
		n = strlen(pat+1);
		printf("%dn",manacher());
	}
	return 0;
}

男朋友把小说女主名字改成了我的,怎么办?

如题。(不知道这个是否违法版规,但我真不知道还能去哪里求助了)

背景:我们有一台公用的台式机,平时主要是用来玩主机游戏,存学习资料之类的。

今天我在整理文件夹的时候,在一个叫做“毛概复习资料”的文件夹里发现了一个不明文档。打开一看发现是篇网络小说,大致讲的是一个住在男生宿舍的女生的遭遇。本来这也没什么,但是我却发现里面的女主名字都被改成了我的名字。联想起最近他热衷于研究AI换头技术,细思极恐。其实看什么小说和电影是他的自由,我没有任何意见。我现在有点担心的是,他会不会计划把这些小说电影付诸实践?我是否要跟他直说,我不能接受小说里的事情发生在自己身上?(非钓鱼贴,诚心求教)

一个很宅的女博士征友

93年,169cm,体重在51kg~55kg浮动,比较好看的地方是眼睛吧,但高度近视。人文专业直博三年级。
中部省份小镇青年,父母离异,各有家庭,分别有弟弟妹妹。但周围的亲人都很爱我,我也很爱他们,是很幸运的人生。
下面是絮絮叨叨的自我介绍
【性格】
应该是个随和的人,很少生气,也没有太多执着的事,对吃穿、旅行之类的小事情不太在意。事关原则、道德问题会有点轴,比方选专业,也被人说过其实很倔。好在这类问题很少。向往维持正义的英雄,会好好遵守和维护认为正确的规则。
有点内向,喜欢安静,怕生,参加必要的社交活动前会紧张胃疼,真的加入了也能正常应对。因为觉得不做则罢,做了就不要抱怨,尽力完成比较好。在熟悉的人面前很放松,会撒娇打滚讲冷笑话。

剑道课走心评测

1.课程内容以剑道礼仪、剑道基本动作教学和重复为主,有两次课中比赛和一次期末排位赛。教学的绝大部分动作很基础,技巧性不高,是你在比赛中能够发挥的主要部分。最后几节课有教过几个进阶动作,不过对新手来说实战性不高。具体来说,日常上课就是课堂教学内容的训练,最需要注意的是掌握动作要领,比如保持中段,以及一些动作的完整性。这些都是比赛中是否采分的关键。很多人比赛的时候是不是乱打、有没有学好动作一眼就能看出来,并且很多打到部位却不采分的原因就在这。不过剑道课面向零基础,要求总体不是很严格。

2.上课要穿剑道服,自购。第四节课后要穿护具。穿护具的过程比打剑还累,尤其是头盔。绑紧了头痛,绑松了走两步就要重绑,并且找到匹配自己头大小的头盔不容易。其次就是手套。手极其容易出汗,护具又不洗,因此积攒了一个学期不同人手汗的手套就非常有味道。甚至手感都是黏糊糊的。至于衣服,本人不是出汗体质,所以剑道服一个学期以来还没洗过,也没什么味道(洁癖警告)。

3.课上大概分为两种人,一种是来修心养性的,另一种是来圆梦武侠的。后者拿起剑起来毫不留情,只把对面当人桩,护具都防不住的痛。你的对面究竟是哪类人课前自行分辨。

4.作为体育课,比起篮球足球,剑道还算一门体力消耗不大的课程。比起用力,技巧性和心态更重要。剑道重剑气合一,得沉下心来去打。由于缺乏条件,几乎不会有课下练习。

5.本人体育白痴,对任何竞技类体育都有天生的恐惧感。复盘整个学期,每次课正常练习,三次比赛第一次平手,第二次输,期末比赛爆冷进二轮。对剑道课的心态也从新奇热情,再到无聊厌烦,最后到意犹未尽。除了上面说的以外,最想说的就是,剑道还是很有意思的,欢迎大家来选课。

6.还没出分,以上建议仅供参考。

火车硬座车厢是攀比食物和娱乐设备的好地方

开车后不久,我邻座就给了我一个下马威,他熟练地掏出ipad和手柄,然后打开水果捞一边吃一边看动画。
我赶紧拿出我的一袋子山竹,一边狂吃一边玩游戏。吃完了水果捞他又拿出一个炸鸡汉堡,我也是有备而来的,掏出包里的烧鸡就开始啃。
这时候对面的女生也坐不住了,拿出了一小条饼干,但另一个男生就始终低着头看手机。
如果没有带吃的,我想,今天我就是那个只能低头看手机的人,火车真是残酷的修罗场啊。附上偷拍的邻座设备,我想他下一步的行动就是要玩游戏了。
还好我还剩一个鸡腿,等下不至于太被动。

【实习】平安科创部招聘战略/投资岗位实习生

平安集团科技创新部招聘实习生

主要工作(战略/投资):
1、参与集团互联网、科技相关重大业务的战略规划、商业模式设计、业务落地,实现投后项目的管理
2、推动集团相关专业公司的重大项目,并监控项目运行情况
3、参与集团互联网、科技领域的战略合作和战略投资,推动内部战略协同效应实现,参与标的寻找、前期调研、估值、投管会申报等工作
4、开展相关的行业研究、公司研究、并提供洞见和相关决策支持

要求:
1、战略思维和结构化分析能力,精通行业研究、公司研究方法
2、多线程工作的经验和较好的抗压能力
3、较高的成熟度和表达能力,擅长协调不同团队间的沟通、合作
4、有著名战略咨询公司或著名互联网公司战略/投资部门实习背景的候选人优先
5、对汽车行业有一定经验和兴趣的候选人优先
6、要求连续实习5个月以上,每周至少4天到岗

实习薪酬:本科生200/天,研究生300/天
实习地点:北京中关村
部门多数员工来自MBB等著名咨询公司,此实习职位由原大M公司咨询顾问/PKU校友亲自带哦~

感兴趣的同学请发简历到niuqikun703@pingan.com.cn