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的更多相关文章

  1. 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) ...

  2. 2016 Multi-University Training Contests

    2016 Multi-University Training Contest 1 2016 Multi-University Training Contest 2 2016 Multi-Univers ...

  3. 2016 Multi-University Training Contest 2 D. Differencia

    Differencia Time Limit: 10000/10000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tot ...

  4. 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) ...

  5. ACM: Gym 101047K Training with Phuket's larvae - 思维题

     Gym 101047K Training with Phuket's larvae Time Limit:2000MS     Memory Limit:65536KB     64bit IO F ...

  6. 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 ...

  7. 2012 Multi-University Training Contest 9 / hdu4389

    2012 Multi-University Training Contest 9 / hdu4389 打巨表,实为数位dp 还不太懂 先这样放着.. 对于打表,当然我们不能直接打,这里有技巧.我们可以 ...

  8. 2014 Multi-University Training Contest 9#11

    2014 Multi-University Training Contest 9#11 Killing MonstersTime Limit: 2000/1000 MS (Java/Others)   ...

  9. 2014 Multi-University Training Contest 9#6

    2014 Multi-University Training Contest 9#6 Fast Matrix CalculationTime Limit: 2000/1000 MS (Java/Oth ...

  10. 2016 Multi-University Training Contest 1

    8/11 2016 Multi-University Training Contest 1 官方题解 老年选手历险记 最小生成树+线性期望 A Abandoned country(BH) 题意: 1. ...

随机推荐

  1. [机器学习理论] 降维算法PCA、SVD(部分内容,有待更新)

    几个概念 正交矩阵 在矩阵论中,正交矩阵(orthogonal matrix)是一个方块矩阵,其元素为实数,而且行向量与列向量皆为正交的单位向量,使得该矩阵的转置矩阵为其逆矩阵:  其中,为单位矩阵. ...

  2. Elasticsearch基础入门,详情可见官方文档

    索引文档: 对于员工目录,我们将做如下操作: 每个员工索引一个文档,文档包含该员工的所有信息. 每个文档都将是 employee 类型 . 该类型位于 索引 megacorp 内. 该索引保存在我们的 ...

  3. Mac下使用sshpass让iterm2支持多ssh登录信息保存

    mac下没有xshell等连接linux服务器的工具,当需要管理的服务器越来越多之后,密码管理就成了一个很头疼的问题,每次都需要去复制粘贴密码,浪费了很多时间,在网上查了不少资料,发现mac下可以使用 ...

  4. Stream系列(十三) GroupingBy方法使用

    分组 视频讲解 https://www.bilibili.com/video/av78225682/ EmployeeTestCase.java package com.example.demo; i ...

  5. Macaca环境搭建(四)----mac系统macaca安装

    一.安装Homebrew 命令:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/insta ...

  6. 腾讯云CentOS 7搭建简单Tomcat+nginx集群

    1.安装Tomcat 进入 /usr/local/ 目录 cd /usr/local 下载 wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v ...

  7. 【LOJ】#3014. 「JOI 2019 Final」独特的城市(长链剖分)

    LOJ#3014. 「JOI 2019 Final」独特的城市(长链剖分) 显然我们画一条直径,容易发现被统计的只可能是直径某个距离较远的端点到这个点的路径上的值 用一个栈统计可以被统计的点,然后我们 ...

  8. Python特色数据类型--列表

    #list[起始索引:终止索引(不包含):步长间隔] list1[5:8] #步长省略则默认为1 #修改元素列表 #列表是一种可变的数据类型,所以可以修改内容 list1 = [0,1,2,3,4] ...

  9. 【求教 探讨】python tkinter的messagebox

    最近有一个要求,用python的tkinter制作一个messagebox,传入3个参数: title  text timeout.用户可以点击“确定” 关闭窗口:  或者 等待几秒(timeout) ...

  10. 区间dp 括号匹配问题

    这道题目能用区间dp来解决,是因为一个大区间的括号匹配数是可以由小区间最优化选取得到(也就是满足最优子结构) 然后构造dp 既然是区间类型的dp 一般用二维 我们定义dp[i][j] 表示i~j这个区 ...