Summer training #5
B:分析序列 构造树(优先队列)
#include <bits/stdc++.h>
#include <cstring>
#include <iostream>
#include <algorithm>
#define foror(i,a,b) for(i=a;i<b;i++)
#define foror2(i,a,b) for(i=a;i>b;i--)
#define EPS 1.0e-8
#define PI acos(-1.0)
#define INF 3000000000
#define MOD 1000000009
#define mem(a,b) memset((a),b,sizeof(a))
#define TS printf("!!!\n")
#define lson o<<1, l, m
#define rson o<<1|1, m+1, r
//using ll = long long;
//using ull= unsigned long long;
//std::ios::sync_with_stdio(false);
using namespace std;
//priority_queue<int,vector<int>,greater<int>> que;
typedef long long ll;
vector<int> tree[];
int visit[];
int pop=;
int pop1=;
int scan[];
priority_queue<int, vector<int>, greater<int> > leaf;
int maxn=;
int main()
{
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
int now;
//TS;
while(scanf("%d ",&now)!=EOF)
{
scan[++pop]=now;
maxn=max(maxn,now);
visit[now]++;
}
//cout<<maxn<<endl;
visit[maxn]++;
//TS;
for(int i=;i<=maxn;i++)
{
if(visit[i]==)
{
leaf.push(i);
}
}
while(!leaf.empty())
{
int cur;
cur= leaf.top();
leaf.pop();
tree[scan[pop1]].push_back(cur);
//cout<<scan[pop1]<<"pushin:"<<cur<<endl;
tree[cur].push_back(scan[pop1]);
//cout<<cur<<"pushin:"<<scan[pop1]<<endl;
if(--visit[scan[pop1]]==)
leaf.push(scan[pop1]);
pop1++;
}
for(int i=;i<=maxn;i++)
{
//printf("%d ",tree[i].size());
sort(tree[i].begin(),tree[i].end());
printf("%d:",i);
for(int j=;j<(int)tree[i].size();j++)
{
printf(" %d",tree[i][j]);
}
printf("\n");
}
return ;
}
C:求满足题意的正方形个数(二维前缀和 前缀和思想) 更难的相似的:http://agc015.contest.atcoder.jp/tasks/agc015_c
F: 打表找规律
#include <bits/stdc++.h>
#include <cstring>
#include <iostream>
#include <algorithm>
#define foror(i,a,b) for(i=a;i<b;i++)
#define foror2(i,a,b) for(i=a;i>b;i--)
#define EPS 1.0e-8
#define PI acos(-1.0)
#define INF 3000000000
#define MOD 1000000009
#define mem(a,b) memset((a),b,sizeof(a))
#define TS printf("!!!\n")
#define lson o<<1, l, m
#define rson o<<1|1, m+1, r
//using ll = long long;
//using ull= unsigned long long;
//std::ios::sync_with_stdio(false);
using namespace std;
//priority_queue<int,vector<int>,greater<int>> que;
typedef long long ll;
int main()
{
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
int t;
cin >> t;
while(t--)
{
int s,k;
scanf("%d %d",&s,&k);
if(k%==)
{
if(s%==)
{
cout<<<<endl;
continue;
}
else
{
cout<<<<endl;
continue;
}
}
else
{
/*int now=0;
while(s>0)
{
now+=s%k;
s/=k;
}
cout<<now<<endl;*/
int now=s%(k+);
if(now%==)
cout<<<<endl;
else
{
if(now==k)
cout<<k<<endl;
else
cout<<<<endl;
}
}
}
return ;
}
G:水
H:二进制分析(lucky 测试数据没有失败的也没有要求最优解的)
#include <bits/stdc++.h>
#include <cstring>
#include <iostream>
#include <algorithm>
#define foror(i,a,b) for(i=a;i<b;i++)
#define foror2(i,a,b) for(i=a;i>b;i--)
#define EPS 1.0e-8
#define PI acos(-1.0)
#define INF 3000000000
#define MOD 1000000009
#define mem(a,b) memset((a),b,sizeof(a))
#define TS printf("!!!\n")
#define lson o<<1, l, m
#define rson o<<1|1, m+1, r
//using ll = long long;
//using ull= unsigned long long;
//std::ios::sync_with_stdio(false);
using namespace std;
//priority_queue<int,vector<int>,greater<int>> que;
typedef long long ll;
int er[];
int er2[];
int ans[];
ll l,r;
int pop=;
ll anser1=;
void init(ll t)
{
int pop=;
while(t>)
{
er[pop++]=t%;
t=t/;
}
}
void init2(ll t)
{
int pop=;
while(t>)
{
er2[pop++]=t%;
t=t/;
}
}
ll now[];
int main()
{
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
mem(ans,-);
int flag=;
int have=;
int n;
cin >> n;
for(int i=;i<=n;i++)
cin>>now[i];
for(int i=;i<n;i++)
{
if(flag==)
break;
mem(er,);
mem(er2,);
ll cur=now[i];
ll next=now[i+];
init(cur);
init2(next);
int flag2=;
for(int j=;j>=;j--)
{
if(er[j]!=er2[j])
{
// cout<< j<<endl;
if(er[j]==&&er2[j]==)
{
if(ans[j]==-)
{
ans[j]=;
have++;
flag2=;
break;
}
else if(ans[j]==)
{
flag2=;
break;
}
}
else if(er[j]==&&er2[j]==)
{
if(ans[j]==-)
{
ans[j]=;
have++;
flag2=;
break;
}
else if(ans[j]==)
{
flag2=;
break;
}
}
}
}
if(flag2==)
flag=;
}
if(flag==)
{
cout<<<<endl;
return ;
}
ll anser=1LL*<<(-have);
cout<<anser<<endl;
return ;
}
I:数位DP
#include <bits/stdc++.h>
#include <cstring>
#include <iostream>
#include <algorithm>
#define foror(i,a,b) for(i=a;i<b;i++)
#define foror2(i,a,b) for(i=a;i>b;i--)
#define EPS 1.0e-8
#define PI acos(-1.0)
#define INF 3000000000
#define MOD 1000000007
#define mem(a,b) memset((a),b,sizeof(a))
#define TS printf("!!!\n")
#define lson o<<1, l, m
#define rson o<<1|1, m+1, r
//using ll = long long;
//using ull= unsigned long long;
//std::ios::sync_with_stdio(false);
using namespace std;
//priority_queue<int,vector<int>,greater<int>> que;
typedef long long ll;
ll ans[][];
void init()
{
ans[][]=,ans[][]=ans[][]=;
for(int i=;i<=;i++)
{
ans[i+][]=(ans[i][]+ans[i][]+ans[i][])*%MOD;
ans[i+][]=ans[i][]%MOD,ans[i+][]=ans[i][]%MOD;
}
}
int main()
{
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
init();
int t;
cin >> t;
while(t--)
{
int n;
scanf("%d",&n);
ll anser=(ans[n][]+ans[n][]+ans[n][])%MOD;
cout<<anser<<endl;
}
return ;
}
Summer training #5的更多相关文章
- hdu 4946 2014 Multi-University Training Contest 8
Area of Mushroom Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- 2016 Multi-University Training Contests
2016 Multi-University Training Contest 1 2016 Multi-University Training Contest 2 2016 Multi-Univers ...
- 2016 Multi-University Training Contest 2 D. Differencia
Differencia Time Limit: 10000/10000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tot ...
- 2016 Multi-University Training Contest 1 G. Rigid Frameworks
Rigid Frameworks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- ACM: Gym 101047K Training with Phuket's larvae - 思维题
Gym 101047K Training with Phuket's larvae Time Limit:2000MS Memory Limit:65536KB 64bit IO F ...
- The Solution of UESTC 2016 Summer Training #1 Div.2 Problem C
Link http://acm.hust.edu.cn/vjudge/contest/121539#problem/C Description standard input/output After ...
- 2012 Multi-University Training Contest 9 / hdu4389
2012 Multi-University Training Contest 9 / hdu4389 打巨表,实为数位dp 还不太懂 先这样放着.. 对于打表,当然我们不能直接打,这里有技巧.我们可以 ...
- 2014 Multi-University Training Contest 9#11
2014 Multi-University Training Contest 9#11 Killing MonstersTime Limit: 2000/1000 MS (Java/Others) ...
- 2014 Multi-University Training Contest 9#6
2014 Multi-University Training Contest 9#6 Fast Matrix CalculationTime Limit: 2000/1000 MS (Java/Oth ...
- 2016 Multi-University Training Contest 1
8/11 2016 Multi-University Training Contest 1 官方题解 老年选手历险记 最小生成树+线性期望 A Abandoned country(BH) 题意: 1. ...
随机推荐
- mybatis 传递多个查询参数
方法1:顺序传参法 public User selectUser(String name, int deptId); <select id="selectUser" resu ...
- docker部署jar、war包方法
一.将war包放入容器 1.# docker imagesREPOSITORY TAG IMAGE ID ...
- 关于python脚本头部设置#!/usr/bin/python
今天又是贼几把菜的一天0.0 读别人程序的时候看到在python文件头部设置签名,感觉贼几把酷,自己也试着在文件前段设置了一下. 设置还是蛮简单的,设置过程如图所示. 设置后如图所示: 当然你也可能看 ...
- 【计算机视觉】Histogram of Oriented Gridients(HOG) 方向梯度直方图
Histogram of Oriented Gridients(HOG) 方向梯度直方图 Histogram of Oriented Gridients,缩写为HOG,是目前计算机视觉.模式识别领域很 ...
- 【VS开发】关于在CFormView中实现CListCtrl控件的注意事项
[VS开发]关于在CFormView中实现CListCtrl控件的注意事项 标签(空格分隔): [VS开发] 今天调试中发现了一项非常令人恼怒的事情,本来早都知道在CFormView中没有了像在对话框 ...
- 深入理解C语言-接口封装设计思想
断层思维 在设计时候,不需要知道实现,只需要知道如何使用 接口设计的设计思路 Sckclient客户端api模型 第一套API (*.h) #ifndef _SCK_CLINT_H_ #define ...
- 访问Nginx显示目录
显示目录可以提供文件下载,方便文件共享时用到,mark一下. 1. 如何让nginx显示文件夹目录 vi /etc/nginx/conf.d/default.conf 添加如下内容: location ...
- Transformer详解
0 简述 Transformer改进了RNN最被人诟病的训练慢的缺点,利用self-attention机制实现快速并行. 并且Transformer可以增加到非常深的深度,充分发掘DNN模型的特性,提 ...
- 2019icpc西安邀请赛 J And And And (树形dp)
题目链接:https://nanti.jisuanke.com/t/39277 题意:给出一棵有边权的树,求所有简单路径包含异或和为0的简单路径的总数和. 思路: 首先,对于异或为0这一限制,我们通过 ...
- Second largest node in the BST
Find the second largest node in the BST 分析: 如果root有右节点,很明显第二大的node有可能在右子树里.唯一不满足的条件就是右子树只有一个node. 这个 ...