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. ...
随机推荐
- Java和SQL取两个字符间的值
Java String str = "abcdefg"; String result = str.substring(str.indexOf(">")+1 ...
- ERROR 2002 (HY000): Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) "
找不到mysql.sock这个文件 如果在你操作安装提示创建该文件,重启服务器还是提示这个错误可以试一下 mysql -uroot -h 127.0.0.1 -p 应该是可以直接进入 具体处理方法 重 ...
- 逆序对 -- cogs1438 火柴排队
题目链接:http://cogs.pro:8081/cogs/problem/problem.php?pid=vimiQkqjU [题目描述] 样例一输入: 4 2 3 1 4 3 2 1 4 样例二 ...
- USACO 1.3 Name That Number【暴搜】
裸的穷举搜索. 研究了好久怎么输入$dict.txt$,$USACO$好像对$freopen$的顺序还有要求? /* ID: Starry21 LANG: C++ TASK: namenum */ # ...
- SQL -------- JDBC 修改某条记录得内容
package demo; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; ...
- 第10课.c++的新成员
1.动态内存分配 a.c++中通过new关键字进行动态内存申请 b.c++中的动态内存申请是基于类型进行的 c.delete关键字用于内存释放 2.new关键字与malloc函数的区别 a.new关键 ...
- 【Python】if __name__ == '__main__' 含义解析
相信大家在看别人的python程序时,可能会在大部分的程序后看到标题这段代码,这里解释下它的意义.总的来说,这句代码的作用就是既能保证当前的.py文件直接运行,也能保证其可以作为模块被其他.py文件导 ...
- GIP画图
世界坐标:相对于winform窗体来说的, 页面坐标:相对于控件的 设置坐标:相对于显示器 获得Graphics对象一般有两种方式: 1.控件.CreateGraphics();//通过该方式创建后要 ...
- Android Application的目录结构
目录结构: 1,java目录:保存java或kotlin源文件 2,res目录:保存Android项目的各种资源文件.比如layout子目录存放界面布局文件,values子目录存放各种XML格式的资源 ...
- strCmd.Format("delete FROM userTable where name = '%s'", name);
string.Format("select * from 数据库表 where 用户名='%s' and 密码='%s' ",m_1,m_2); 把[m_1]和[m_2]的值按照[ ...