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. ...
随机推荐
- C学习笔记-数组
数组的概念 数组是一组具有相同数据类型的变量集合,这里要注意两点,数组只能存储相同的数据类型和数组的内存是连续的,这位数组和指针的联系奠定了基础. 一维数组 定义及初始化 一维数组指的是只有一个下标的 ...
- el-tree点击获取直接父级的属性
这里是可以一直往上获取它的直接父级的所有属性以及状态 通过这两个事件其中的一个 在方法里可以写上 methods:{ curCheck(data,state){ const curNode = thi ...
- 菜鸟系列k8s——快速部署k8s集群
快速部署k8s集群 1. 安装Rancher Rancher是业界唯一完全开源的企业级容器管理平台,为企业用户提供在生产环境中落地使用容器所需的一切功能与组件. Rancher2.0基于Kuberne ...
- Node原生demo
1.=>创建配置模块,作用是先判断是开发环境还是生产环境,并将开发或生产环境的数据库信息和http信息分别筛开,便于选择 2.=>创建数据库模块,作用是连接数据库 3.=>创建路由模 ...
- bootstrap-table服务端分页操作
由于数据库查询的数据过多,所以采取服务端分页的操作,避免一次性加载的数据量过多,导致页面加载缓慢. 后端数据的封装格式json数据 rows里的数据是当前页的数据,total是总条数: { " ...
- 后缀自动机----一种将字符串变成DAG的方法
后缀自动机 (suffix automaton, SAM) 是一个能解决许多字符串相关问题的有力的数据结构.(否则我们也不会用它) 举几个例子,以下的字符串问题都可以在线性时间内通过 SAM 解决 1 ...
- c++练习—实现简单的4则运算
#pragma once class Counter { public: void setExp(const char* exp);//设置表达式 void cleanExp(); //清除表达式 v ...
- PHP+jQuery.photoClip.js支持手势的图片裁剪上传实例
PHP+jQuery.photoClip.js支持手势的图片裁剪上传实例,在手机上双指捏合为缩放,双指旋转可根据旋转方向每次旋转90度,在电脑上鼠标滚轮为缩放,双击则顺时针旋转90度. 下面让我们来看 ...
- Array Product CodeForces - 1042C (细节)
#include <iostream> #include <sstream> #include <algorithm> #include <cstdio> ...
- THUWC2020游记
Day0 找了旅馆吃了东西才发现明天要去西郊宾馆,换旅馆?? 清华还安排住宿? asas了. 下午出去和kx&face报PKU的名.然后门卫不让进,老吕开启忽悠模式,然后很快就忽悠过去了.(我 ...