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分块过的大神犇
0421 & SX2016的更多相关文章
- 0421 实验二Step2-FCFS调度
一.目的和要求 1. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 2.实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行, ...
- 技术笔记:Indy控件发送邮件
工作中有个需求需要发送邮件,因为使用的delphi6,所以自然就选择了indy组件,想想这事挺简单的.实现的过程倒是简单,看着Indy的demo很快就完了,毕竟也不是很复杂的功能. 功能要求: 1.压 ...
- 微软移动 Nokia Lumia SensorCore SDK 介绍及上手体验
早在今年的BUILD大会上,诺基亚就宣布了SensorCore以及它的部分演示.今天,它终于面世了,大家可以去Building Apps for Windows 上查看具体介绍,或者也可以去Nokia ...
- JS base64 加密和 后台 base64解密(防止中文乱码)
直接上代码 1,js(2个文件,网上找的) 不要觉的长,直接复制下来就OK //UnicodeAnsi.js文件 //把Unicode转成Ansi和把Ansi转换成Unicode function ...
- tcpdump抓SQL[转]
转自:http://www.cnblogs.com/LMySQL/p/5060604.html 前言:假设如果有个服务器几十个链接突然达到上千个链接,show processlist,general_ ...
- linux权限补充:rwt rwT rws rwS 特殊权限
众所周知,Linux的文件权限如: 777:666等,其实只要在相应的文件上加上UID的权限,就可以用到加权限人的身份去运行这个文件.所以我们只需要将bash复制出来到另一个地方,然后用root加上U ...
- grub paramiter & menu.list
在Linux中,给kernel传递参数以控制其行为总共有三种方法: 1.build kernel之时的各个configuration选项. 2.当kernel启动之时,可以参数在kernel被GRUB ...
- 基于nodejs实现js后端化处理
今天D哥给我提了个问题,"用php执行过js没"?咋一听,没戏~~毕竟常规情况下,js是依赖浏览器运行的.想在php后端采集的同时利用js运行结果并传递给php使用,没戏! 然后回 ...
- smali语法中文版
作者:Gabor Paller 翻译:YULIANGMAX v1.0 表中的vx.vy.vz表示某个Dalvik寄存器.根据不同指令可以访问16.256或64K寄存器. 表中lit4.lit8. ...
随机推荐
- [转载]tomcat的配置文件server.xml不支持中文注释的解决办法
原文链接:http://tjmljw.iteye.com/blog/1500370 启动tomcat失败,控制台一闪而过,打开catalina的log发现错误指向了conf/server.xml,报错 ...
- centos 6.7 搭建tornado + nginx + supervisor的方法(已经实践)
首先,本来不想写这篇博客了,但是我测试了很多网上的例子包括简书的,全不行,我总结原因是自己太笨,搞了俩个晚上,后来决定,自己还是写一篇记录下来,保证自己以后使用 环境: centos6.7 64 py ...
- 最常用的ES6特性(转)
最常用的ES6特性 let, const, class, extends, super, arrow functions, template string, destructuring, defaul ...
- Python类中super()和__init__()的关系
Python类中super()和__init__()的关系 1.单继承时super()和__init__()实现的功能是类似的 class Base(object): def __init__(sel ...
- git 修改注释信息
1. push 之前 先看看自己提交过多少次,然后执行 git rebase -i HEAD~数字(你要修改你的第几次提交) 接下来执行,修改注释 git commit --amend 修改完注释之后 ...
- java面试题总汇
coreJava部分 7 1.面向对象的特征有哪些方面? 7 2.作用域public,private,protected,以及不写时的区别? 7 3.String 是最基本的数据类型吗? 7 4.fl ...
- js学习进阶-元素获取及样式设置
var imgs = document.querySelectorAll("article img"); 获得article元素的直接或间接子孙的所有img元素, <arti ...
- ofbiz定时任务配置
1.一个service的java类 2.在framework/service/servicedef/service.xml中配置上一步的service服务. <service name=&quo ...
- 【Java EE 学习 71 上】【数据采集系统第三天】【增加页面】【增加问题】【编辑页面,编辑问题】
增加页面和编辑页面.增加问题和编辑问题的页面使用的都是相同的页面,最后调用的方法是saveOrUpdate方法,所以只说一个就可以了. 一.增加页面 比较简单,略.流程如下: 单击“增加页”超链接-& ...
- Mipmap与纹理过滤
为了加快渲染速度和减少纹理锯齿,贴图被处理成由一系列被预先计算和优化过的图片组成的文件,这样的贴图被称为Mipmap. 使用DirectX Texture Tool(DX自带工具)预生成Mipmap ...