0421 & SX2016

山西省选...这个省...不算强吧...然而就是这么腊鸡题目还是wa得一无是处...怎么办啊怎么办啊...无处拯救青春和未来啊...

T1:

  POI2004原题 BZOJ1524

  n<=16.这不是一眼 撞鸭吗...然而我怎么打炸了呢...看了一眼标算跟我枚举的方式有点不一样不过感觉更靠谱的样子...然而第一眼看一句话居然看不懂...

  连枚举子集都忘了QAQ

  for x = S; x ;x = S&(x-1);

T2:

  打表找规律= =...

  没取模!!!!!!日!!!!!!!!!

  

/*=================================
# Created time: 2016-04-21 10:09
# Filename: sequence.cpp
# Description:
=================================*/
#define me AcrossTheSky&HalfSummer11
#include <cstdio>
#include <cmath>
#include <ctime>
#include <string>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>  

#include <set>
#include <stack>
#include <queue>
#include <vector>  

#define lowbit(x) (x)&(-x)
#define Abs(x) ((x) > 0 ? (x) : (-(x)))
#define FOR(i,a,b) for((i)=(a);(i)<=(b);(i)++)
#define FORP(i,a,b) for(int i=(a);i<=(b);i++)
#define FORM(i,a,b) for(int i=(a);i>=(b);i--)
#define ls(a,b) (((a)+(b)) << 1)
#define rs(a,b) (((a)+(b)) >> 1)
#define getlc(a) ch[(a)][0]
#define getrc(a) ch[(a)][1]  

#define maxn 300005
#define maxm 2000005
#define INF 1070000000
#define mod 1000000007
using namespace std;
typedef long long ll;
typedef unsigned long long ull;  

template<class T> inline
void read(T& num){
    num = 0; bool f = true;char ch = getchar();
    while(ch < ‘0‘ || ch > ‘9‘) { if(ch == ‘-‘) f = false;ch = getchar();}
    while(ch >= ‘0‘ && ch <= ‘9‘) {num = num * 10 + ch - ‘0‘;ch = getchar();}
    num = f ? num: -num;
}
int outs[100];
template<class T> inline
void write(T x){
	if (x==0) {putchar(‘0‘); puts(""); return;}
	if (x<0) {putchar(‘-‘); x=-x;}
	int num=0;
	while (x){ outs[num++]=(x%10); x=x/10;}
	FORM(i,num-1,0) putchar(outs[i]+‘0‘); puts("");
}
/*==================split line==================*/
ll n;
struct Matrix{
	ll s[2][2];
	void clear(){memset(s,0,sizeof(s));}
}f,a;
Matrix operator *(Matrix a,Matrix b){
    Matrix c;  c.clear();
    for (int i=0;i<2;i++)
        for (int j=0;j<2;j++)
          for (int k=0;k<2;k++)
              c.s[i][j]+=((a.s[k][j]%mod)*(b.s[i][k]%mod))%mod,c.s[i][j]%=mod;
    return c;
}
int main(){
	freopen("sequence.in","r",stdin);
	freopen("sequence.out","w",stdout);
	f.s[0][0]=1,f.s[0][1]=0,f.s[1][0]=0,f.s[1][1]=0;
	a.s[0][0]=2,a.s[0][1]=1,a.s[1][0]=1,a.s[1][1]=0;
   	read(n);
   	if (n==0){
       	write(0);
     	return 0;
    }
    n--;
    for(;n;n>>=1,a=a*a) if(n&1) f=f*a;
	write(f.s[0][0]);
}

T3:

  显然新加串是原串一个前缀,搞一棵Trie,hash一下....然而为什么我BZ上过了考试的时候没过呢...

  

/*=================================
# Created time: 2016-04-21 10:09
# Filename: sequence.cpp
# Description:
=================================*/
#define me AcrossTheSky&HalfSummer11
#include <cstdio>
#include <cmath>
#include <ctime>
#include <string>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>  

#include <set>
#include <stack>
#include <queue>
#include <vector>  

#define lowbit(x) (x)&(-x)
#define Abs(x) ((x) > 0 ? (x) : (-(x)))
#define FOR(i,a,b) for((i)=(a);(i)<=(b);(i)++)
#define FORP(i,a,b) for(int i=(a);i<=(b);i++)
#define FORM(i,a,b) for(int i=(a);i>=(b);i--)
#define pb push_back
#define ls(a,b) (((a)+(b)) << 1)
#define rs(a,b) (((a)+(b)) >> 1)
#define getlc(a) ch[(a)][0]
#define getrc(a) ch[(a)][1]  

#define maxn 2000005
#define maxm 100005
#define INF 1070000000
using namespace std;
typedef long long ll;
typedef unsigned long long ull;  

template<class T> inline
void read(T& num){
    num = 0; bool f = true;char ch = getchar();
    while(ch < ‘0‘ || ch > ‘9‘) { if(ch == ‘-‘) f = false;ch = getchar();}
    while(ch >= ‘0‘ && ch <= ‘9‘) {num = num * 10 + ch - ‘0‘;ch = getchar();}
    num = f ? num: -num;
}
int outs[100];
template<class T> inline
void write(T x){
	if (x==0) {putchar(‘0‘); puts(""); return;}
	if (x<0) {putchar(‘-‘); x=-x;}
	int num=0;
	while (x){ outs[num++]=(x%10); x=x/10;}
	FORM(i,num-1,0) putchar(outs[i]+‘0‘); puts("");
}
/*==================split line==================*/
const ll base=17;
int n,cnt=1,now; ll tmp;
int len[maxn],sum[maxn],ord[maxn],ch[maxn][26];
ull hash[maxn],p[maxn];
vector<char> s[maxn];
void insert(int x){
	if (!ch[now][x]) ch[now][x]=++cnt;
	now=ch[now][x];
	tmp=tmp*base+x+1;
}
int main(){
	freopen("string.in","r",stdin);
	freopen("string.out","w",stdout);
	p[0]=1; FORP (i,1,2000003) p[i]=p[i-1]*base;//,write(p[i]);
	read(n);
	FORP(i,1,n){
		char c;
		read(len[i]);
		FORP(j,0,len[i]-1)
				s[i].pb(getchar());
		now=1,tmp=0;
		FORP(j,0,len[i]-1) insert(s[i][j]-‘a‘);
		sum[now]++;ord[now]=i;hash[i]=tmp;
	}
	ll ans=0;
	FORP(i,1,n){
		now=1;
		FORP(j,0,len[i]-1){
			int x=s[i][j]-‘a‘;
			now=ch[now][x];
			if (sum[now] &&
			hash[ord[now]]*p[len[i]]+hash[i]==
			hash[i]*p[len[ord[now]]]+hash[ord[now]]) ans+=sum[now];
		}
	}
	ans=ans*2-n;
	write(ans);
	return 0;
}

T4:

  打了个暴力这次暴力居然没出错...正解还没去看挖个坑>_<...Orz分块过的大神犇

时间: 2024-12-30 03:40:15

0421 & SX2016的相关文章

SpringBoot - 二零一七0421小记

一.SpringBoot使用起来比起SpringMVC更便捷,在注解上的小变化,我记录了下面几个: @Controller + @ResponseBody = SpringMVC中用@RestController来代替前面两个注解,通过这个注解,可以将所有的前端http请求放入SpringBoot的Controller容器中,并返回json格式的数据给前端 @RequestMapping(value={"/hello","/hi"},method=RequestMe

0421团队项目 1.0

团队项目 ----Math Calculator 任务: 1.每个团队从Github上fork这个项目的源代码 https://github.com/RABITBABY/We-have-bing 2.了解.部署.运行这个项目,理解其功能及实现: 3.进行必要的测试,发现软件的bug并记录,并进行bug的排除: 发布博客内容: 简要说明如何下载部署运行这个项目: 补充这个软件的单元测试并提交到Github上: 解释说明找出的bug及修复情况: 列出每个团队成员的个人贡献分. -----------

0421实验二 作业调度模拟程序

实验二作业调度模拟程序 一.目的和要求 1. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 2.实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素.      作业调度算法: 1)        采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进行调度.总是首先调度在系统中等待时间最长的作业. 2)

0421 iPad 分频控制器/UISplitViewController

1. 屏幕 2. 创建单一视图项目,底下选中iPad(也可以在项目里面改) 3. 创建左右控制器 分割视图: // 左边是分组的tableView 放倒屏幕 command + 方向 代码: 1. 创建split 2. 左右,左右一般会用导航控制器来控制. // 3. 设置根视图控制器 self.window.rootViewController = split; 横状态屏才可以看到,左右的分割视图效果. 4. 下面把导航控制器,套在导航控制器里. // 今天的效果,左侧是书签,右侧是浏览器.

0421 实验二Step2-FCFS调度

一.目的和要求 1. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 2.实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素.      作业调度算法: 1)        采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进行调度.总是首先调度在系统中等待时间最长的作业. 2)        短作业优

0421 iPad 泡泡

1. 拖控件 2. 连线 3. 创建tableViewController 4. 实例化pop, 作为成员 5. pop方法 // 箭头朝上,内容就想下,如图: // 下====上 以此类推 Any 会自己决定一个最合适的方向 // so: 一般用Any 1. 点击按钮时, 保存这个数字 2. 再次输入时,过滤,比如输入1就出来先前输入的内容. // 123 1123 12345 参考之前的笔记: 0324 Foundation框架 NSSting ***********************

0421 AutoLayout的实践/基本使用

历史: 从iOS 6开始 ,之前都是3.5英寸没有考虑到适配. iPhone5 变成了4英寸,所以推出了Auto Layout 理解: 另外一个体系,去描述位置. 像素: 点: // 勘误: 图中的像素应为 “点" // 写上以上代码,就可以删掉系统创建的控制器和storyBoard了. // 创建控制器,勾选Xib [] 拖一个uiview 背景改成红色. 按住cotroller 往右拖,选右边 // 同理,选下边 // 在内部拖,height / width 共有4步骤 这样如果是iPad项

0421 版本适配和本地化

1. 获取版本号: //  7.1.123  系统大版本号/大修改/小修改次数 一般写成宏: 使用时: 如下即可, // 注意: 以下代码如果在iOS8以上版本,都会被忽略: 2. 本地化(国际化) 1) 选择简体中文 会将下列文件本地化 2) 用这个名字命名:(以免后续还要改名字) 3.  接下来,定义一些标识符. 注: 用的时候,我们用宏,系统会决定用什么文件的东西. 原来的写法: 现在: // 这里的引号里面的 hello 就是我们定义的标识符. // comment 是注释相关 4. 下

04-21数据操作

#数据库的操作show databases;create database php0307 charset=utf8;drop database php0307;use php0307;#数据类型  #数值(int)  #时间日期(datatime)  #字符串(varchar)#表操作 必须进入库show tables; drop table if exists login;create table login(    # 字段  数据类型  约束    id int auto_increme