Summer training #4
D:找到两个数 一个是另一个的整数倍(1也算)
因为N是600000 调和级数为ln(n+1) 算一下 可以直接爆
- #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;
- bool cmp(int x,int y){return x>y;}
- int where[];
- int visit[];
- int main()
- {
- //freopen("in.txt", "r", stdin);
- //freopen("out.txt", "w", stdout);
- int n,k;
- cin >> n >> k;
- int ans1=,ans2=;
- int t;
- for(int i=;i<=k;i++)
- {
- scanf("%d",&t);
- if(visit[t]!=) //==1
- {
- ans1=where[t];
- ans2=i;
- break;
- }
- visit[t]++;
- where[t]=i;
- }
- if(ans1!=&&ans2!=)
- {
- printf("%d %d\n",ans1,ans2);
- return ;
- }
- for(int i=;i<=n;i++)
- for(int j=*i;j<=n;j+=i)
- {
- if(visit[i]!=&&visit[j]!=)
- {
- ans1=where[i];
- ans2=where[j];
- break;
- }
- }
- if(ans1!=&&ans2!=)
- {
- printf("%d %d\n",ans1,ans2);
- return ;
- }
- printf("0 0\n");
- return ;
- }
E:两个板之间的数之和是K的倍数?? 反正这么做过了
- #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;
- bool cmp(int x,int y){return x>y;}
- char a[];
- //(a1+an)*n/2;
- int main()
- {
- //freopen("in.txt", "r", stdin);
- //freopen("out.txt", "w", stdout);
- int n,k;
- cin >> n;
- scanf("%s",a+);
- //printf("%s\n",a+1);
- int num=;
- int len=strlen(a+);
- //cout <<len<<endl;
- int first=,last=;
- int pop=;
- for(int i=;i<=len&&pop!=;i++)
- {
- if(a[i]=='')
- {
- //TS;
- for(int j=i;j<len;j+=n)
- {
- //cout << j<<endl;
- if(a[j+]=='')
- {
- first=i;
- last=j+;
- pop=;
- break;
- }
- }
- }
- }
- if(first!=&&last!=)
- {
- printf("%d %d",first,last);
- return ;
- }
- printf("0 0\n");
- return ;
- }
G:水
H:2*3的砖铺 N*M的地板 以前CF好像做过 直接判min(n,m)>=2&&max(n,m)>=3 然后n*m%6==0
证明的话 引用别人的:
乘积是6的倍数那就说明有因子2和3:
1)一边是2的倍数恰好另一边是3的倍数,这种情况下显然可行;
2)一边是6的倍数另一边不是2也不是3的倍数,那另一边肯定是奇数,为1的时候不行,设边为N=2a+1=2(a-1)+3,那前面就以2x3的形式放最后一个以3x2的形式放,由于一边为6的倍数那么就是一定可以放得下的
- #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 k;
- cin >> k;
- while(k--)
- {
- ll n,m;
- cin >> n >> m;
- ll sum=n*m;
- if(min(n,m)<||max(n,m)<)
- {
- cout<<"No"<<endl;
- continue;
- }
- if(sum%==)
- cout <<"Yes"<<endl;
- else
- cout <<"No"<<endl;
- }
- return ;
- }
I:阅读理解 把最长的R 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;
- int red[],blue[];
- bool cmp(int x,int y){return x>y;}
- int main()
- {
- //freopen("in.txt", "r", stdin);
- //freopen("out.txt", "w", stdout);
- int n;
- while(scanf("%d",&n)==)
- {
- mem(red,);
- mem(blue,);
- int pop=;
- int pop1=;
- int number=;
- int ans=;
- char ch;
- int j;
- for(int i=;i<=n;i++)
- {
- cin >> j>>ch;
- if(ch=='R')
- {
- red[++pop]=j;
- }
- else
- {
- blue[++pop1]=j;
- }
- }
- sort(red+,red+pop+,cmp);
- sort(blue+,blue+pop1+,cmp);
- for(int i=;i<=min(pop,pop1);i++)
- {
- ans+=red[i]+blue[i]-;
- }
- cout <<ans<<endl;
- }
- return ;
- }
J:按条件读取字符 组成词组 输出
- #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;
- //stack<string> a;
- int pop=;
- map<string,int> mp;
- string strans;
- int ans=;
- char c[];
- //(a1+an)*n/2;
- void print()
- {
- for(map<string,int>::iterator it=mp.begin();it!=mp.end();it++)
- {
- if(it->second>ans)
- {
- strans=it->first;
- ans=it->second;
- }
- }
- cout << strans<<":"<<ans<<endl;
- }
- int main()
- {
- //freopen("in.txt", "r", stdin);
- //freopen("out.txt", "w", stdout);
- while(gets(c))
- {
- int len=strlen(c);
- if(len==&&c[]=='#')
- {
- print();
- mp.clear();
- strans="";
- ans=;
- continue;
- }
- else
- {
- for(int i=;i<len;i++)
- {
- string start="";
- if(c[i]>='a'&&c[i]<='z')
- {
- int cur=i;
- while(c[cur]>='a'&&c[cur]<='z')
- {
- start+=c[cur];
- cur++;
- }
- i=cur;
- if(c[cur]==','||c[cur]=='\0')
- continue;
- start+=' ';
- while(c[cur]==' ')
- cur++;
- while(c[cur]>='a'&&c[cur]<='z')
- {
- start+=c[cur];
- cur++;
- }
- //cout <<"start="<<start<<" ";
- //cout <<endl;
- mp[start]++;
- }
- }
- }
- }
- return ;
- }
Summer training #4的更多相关文章
- 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. ...
随机推荐
- 【POJ - 1703】Find them, Catch them(种类并查集)
Find them, Catch them 直接翻译了 Descriptions 警方决定捣毁两大犯罪团伙:龙帮和蛇帮,显然一个帮派至少有一人.该城有N个罪犯,编号从1至N(N<=100000. ...
- DP————最小覆盖问题
原题:https://www.luogu.org/problem/P2279 题解转载自:https://www.luogu.org/blog/contributation/solution-p227 ...
- 华为 huawei 查看系统中存在的安全风险信息 display security risk
查看系统中存在的安全风险信息. 应用场景 由于协议自身的安全性能不同,用户配置时使用的某些协议可能存在安全风险.通过该命令可查看系统中存在的安全风险,并根据给出的修复建议解除风险.例如,用户配置了SN ...
- JAVA实验报告及第八周总结
JAVA第八周作业 实验报告六 实验一 编写一个类,在其main()方法中创建一个一维数组,在try字句中访问数组元素,使其产生ArrayIndexOutOfBoundsException异常.在ca ...
- Oracle同时插入多条数据
INSERT ALL INTO 表名(NAME) VALUES ('tony') INTO 表名(NAME) VALUES ('tony2') INTO 表名(NAME) VALUES ('tony3 ...
- GIT SSH-KEY配置以及问题解决
GIT SSH-KEY 生成 我们在使用git的时候需要生成ssh key,我在这里说一下生成key和一些个性化操作,如:保存key的位置,如何解决Could not open a connectio ...
- 【重启C++】 关于 【类】
1.什么是抽象类 带有纯虚函数成员的类,称为抽象类.抽象类不能被实例化,因为如果能实例化,调用这个纯虚的成员函数时怎么处理. 2.什么是纯虚函数 纯虚函数是在声明虚函数时被“初始化”为0的函数.声明纯 ...
- nginx.conf and dockerfile带颜色
wget http://www.vim.org/scripts/download_script.php?src_id=14376 -O nginx.vim mv nginx.vim /usr/shar ...
- django进阶版2
目录 批量插入数据 自定义分页器 创建多表关系的3种方法 全自动 全手动 半自动 form组件 如何渲染页面 第一种方式 第二种方式 第三种方式 如何显示错误信息 forms组件钩子函数 局部钩子 全 ...
- Ruby Rails学习中:网站导航,Bootstrap和自定义的CSS,局部视图
添加一些结构 一.网站导航 1.添加一些结构后的网站布局文件 打开文件:app/views/layouts/application.html.erb 简单介绍一下,添加的代码: 我们从上往下看一下这段 ...