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. ...
随机推荐
- ipad3 修理记录
1,左下角 有视频线 2,右下角 有WIFI线
- Lua字符串及模式匹配
字符类基础函数举例介绍: string.len( ‘string’ ) string.lower( ‘string’ ) string.upper( ‘string’ ) string.rep( ‘a ...
- django ajax MTV与MVC 多对多创建方式
MTV与MVC MTV模型(django): M:模型层(models.py) T:templates V:views MVC模型: M:模型层(models.py) V:视图层(views.py) ...
- GTID复制
什么是GTID呢, 简而言之,就是全局事务ID(global transaction identifier ),最初由google实现,官方MySQL在5.6才加入该功能.GTID是事务提交时创建分配 ...
- Hello World!!!
C #include <stdio.h> int main() #main 入口函数 { printf("Hello,World!"); #printf 函数打印 ; ...
- Js 更换html同一父元素下子元素的位置
//更换两个元素的位置 var exchange=function (el1, el2) { var ep1 = el1[0].parentNode, ep2 = el2[0].parentNode, ...
- ef core schema 指定架构
不知道很少使用Schema模型还是怎么,居然搜帖子没人说,虽然很简单但是还是想记录一下坑 命名空间 using System.ComponentModel.DataAnnotations.Schema ...
- C#颜色对话框(WPF可用)
System.Windows.Forms.ColorDialog colorDialog = new System.Windows.Forms.ColorDialog(); //允许使用该对话框的自定 ...
- fork 代码进阶
fork进阶知识 先看一份代码: [cpp] view plain copy /* * fork_test.c * version 2 * Created on: 2010-5-29 * ...
- vue入门:(v-for指令与列表渲染)
v-for渲染列表 维护状态 数组变异方法与替换数组 $set.$remove 对象属性实现列表渲染 一.v-for渲染列表 语法:v-for="item in items" 先来 ...