当前位置: 首页 > news >正文

环保设备网站建设方案网站整站开发教程

环保设备网站建设方案,网站整站开发教程,营销类网站设计 要点,创建目录wordpressA. Setting up Camp 题目分析: 有三种人,内向、外向、综合,内向必须独自一个帐篷,外向必须3个人一个帐篷,综合介于1~3人一个帐篷,我们发现非法情况只会存在外向的人凑不成3个人一个帐篷的情况,因外向不够可…

A. Setting up Camp

题目分析:

 有三种人,内向、外向、综合,内向必须独自一个帐篷,外向必须3个人一个帐篷,综合介于1~3人一个帐篷,我们发现非法情况只会存在外向的人凑不成3个人一个帐篷的情况,因外向不够可以向综合人借,故将二者合并并判断:

#include<bits/stdc++.h>
#pragma GCC optimize("Ofast")
#define INF 1e18
#define IOS ios::sync_with_stdio(false);cin.tie(0);
#define int long long
#define pb push_back
#define vct vector
#define checkbit __builtin_popcount
#define gcd __gcd
#define use int T;cin>>T;while(T--)
#define LEN length()
#define all(a) a.begin()+1,a.end()
template<class T> bool mmax(T &u, T v) { return u < v ? (u = v, 1) : 0; }
template<class T> bool mmin(T &u, T v) { return u > v ? (u = v, 1) : 0; }
#define lowbit(x) (x&(-x))
#define yes cout<<"YES"<<'\n'
#define no cout<<"NO"<<'\n' 
#define safe_map unordered_map<int, int, custom_hash>
using namespace std;
typedef pair<int,int>pii;
const int N =2e5+7;
struct custom_hash {
size_t operator()(uint64_t x) const {
static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count();
x ^= FIXED_RANDOM;
return x ^ (x >> 16);
}
};
signed main()
{IOSuse{int a,b,c;cin>>a>>b>>c;int x=b%3;if(x+c<3&&x!=0)cout<<"-1"<<endl;// 非法情况else cout<<a+(b+c)/3+((b+c)%3?1:0)<<endl;//else}
return 0;
}

B. Fireworks

题目分析:

A类烟花每a分钟发射一次,B类烟花每b分钟发射一次,它们都能持续m分钟,那么我们直接用m分别求出这两类烟花都能放几个加和即可,注意, 我们可以选择烟花发射时间包含二者最小公倍数所以最终结果+2

#include<bits/stdc++.h>
#pragma GCC optimize("Ofast")
#define INF 1e18
#define IOS ios::sync_with_stdio(false);cin.tie(0);
#define int long long
#define pb push_back
#define vct vector
#define checkbit __builtin_popcount
#define gcd __gcd
#define use int T;cin>>T;while(T--)
#define LEN length()
#define all(a) a.begin()+1,a.end()
template<class T> bool mmax(T &u, T v) { return u < v ? (u = v, 1) : 0; }
template<class T> bool mmin(T &u, T v) { return u > v ? (u = v, 1) : 0; }
#define lowbit(x) (x&(-x))
#define yes cout<<"YES"<<'\n'
#define no cout<<"NO"<<'\n' 
#define safe_map unordered_map<int, int, custom_hash>
using namespace std;
typedef pair<int,int>pii;
const int N =2e5+7;
struct custom_hash {
size_t operator()(uint64_t x) const {
static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count();
x ^= FIXED_RANDOM;
return x ^ (x >> 16);
}
};
signed main()
{IOSuse{int a,b,m;cin>>a>>b>>m;cout<<m/a+m/b+2<<endl;}return 0;
}

C. Left and Right Houses 

题目分析:

给定字符串s,要求将字符串分隔,并且确保满足题目条件,遍历即可

#include<bits/stdc++.h>
#pragma GCC optimize("Ofast")
#define INF 1e18
#define IOS ios::sync_with_stdio(false);cin.tie(0);
#define int long long
#define pb push_back
#define vct vector
#define checkbit __builtin_popcount
#define gcd __gcd
#define use int T;cin>>T;while(T--)
#define LEN length()
#define all(a) a.begin()+1,a.end()
template<class T> bool mmax(T &u, T v) { return u < v ? (u = v, 1) : 0; }
template<class T> bool mmin(T &u, T v) { return u > v ? (u = v, 1) : 0; }
#define lowbit(x) (x&(-x))
#define yes cout<<"YES"<<'\n'
#define no cout<<"NO"<<'\n' 
#define safe_map unordered_map<int, int, custom_hash>
using namespace std;
typedef pair<int,int>pii;
const int N =2e5+7;
struct custom_hash {
size_t operator()(uint64_t x) const {
static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count();
x ^= FIXED_RANDOM;
return x ^ (x >> 16);
}
};
char s[3000005];
int s1[300005];
signed main()
{
use{int n;cin>>n;scanf("%s",s+1);for(int i=1;i<=n;i++)s1[i]=s1[i-1]+(s[i]-48);int ans=-1;for(int i=0;i<=n;i++)if(s1[i]<=i-s1[i] && s1[n]-s1[i]>=(n-i)-(s1[n]-s1[i])){if(abs(n-i-i)<abs(n-ans-ans))ans=i;}cout<<ans<<endl;
}return 0;
}

D. Seraphim the Owl 

题目分析:

当主人公在i位置时,他想要换到j位置,首先需要花费 a[j] 元, 并且需要花费 \sum_{x=i-1}^{j-1}p_x

因为主人公需要至少排在第m位,所以在n+1~m-1之间我们可以选择最优值,也就是min(a[i],b[i]),

到m后,我们可以选择a[m]来停下,但是考虑到有可能到前面的位置花费会更小所以我们再向前模拟,更新最小值

#include<bits/stdc++.h>
#pragma GCC optimize("Ofast")
#define INF 1e18
#define IOS ios::sync_with_stdio(false);cin.tie(0);
#define int long long
#define pb push_back
#define vct vector
#define checkbit __builtin_popcount
#define gcd __gcd
#define use int T;cin>>T;while(T--)
#define LEN length()
#define all(a) a.begin()+1,a.end()
template<class T> bool mmax(T &u, T v) { return u < v ? (u = v, 1) : 0; }
template<class T> bool mmin(T &u, T v) { return u > v ? (u = v, 1) : 0; }
#define lowbit(x) (x&(-x))
#define yes cout<<"YES"<<'\n'
#define no cout<<"NO"<<'\n' 
#define safe_map unordered_map<int, int, custom_hash>
using namespace std;
typedef pair<int,int>pii;
const int N =2e5+7;
struct custom_hash {
size_t operator()(uint64_t x) const {
static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count();
x ^= FIXED_RANDOM;
return x ^ (x >> 16);
}
};
signed main()
{IOSuse{int n,m;cin>>n>>m;vct<int>a(n+1),b(n+1);for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<=n;i++)cin>>b[i];int ans=0;for(int i=n;i>m;i--){ans+=min(a[i],b[i]);}int mins=a[m];int x=0;for(int i=m;i>1;i--){x+=b[i];mmin(mins,x+a[i-1]);}cout<<ans+mins<<'\n';}return 0;
}

E. Binary Search

 

题目分析:

二分但没完全二分,数组的取值为1~n,且可能不单调,题目给出的方法适用于单调递增,故,如果起初数组为单调递增的话操作数为0,否则,我们按照题意进行二分模拟,最终二分出来的坐标l 与x起初的位置换一次即可;

证明可行性,因在原数组模拟的情况下,在过程中l满足小于等于x的性质,x也同样满足小于等于x的性质,故可等价替换,故仅需要一次操作即可二分得到x

#include<bits/stdc++.h>
#pragma GCC optimize("Ofast")
#define INF 1e18
#define IOS ios::sync_with_stdio(false);cin.tie(0);
#define int long long
#define pb push_back
#define vct vector
#define checkbit __builtin_popcount
#define gcd __gcd
#define use int T;cin>>T;while(T--)
#define LEN length()
#define all(a) a.begin()+1,a.end()
template<class T> bool mmax(T &u, T v) { return u < v ? (u = v, 1) : 0; }
template<class T> bool mmin(T &u, T v) { return u > v ? (u = v, 1) : 0; }
#define lowbit(x) (x&(-x))
#define yes cout<<"YES"<<'\n'
#define no cout<<"NO"<<'\n' 
#define safe_map unordered_map<int, int, custom_hash>
using namespace std;
typedef pair<int,int>pii;
const int N =2e5+7;
struct custom_hash {
size_t operator()(uint64_t x) const {
static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count();
x ^= FIXED_RANDOM;
return x ^ (x >> 16);
}
};
signed main()
{IOSuse{int n,x;cin>>n>>x;vct<int>a(n+1);int cnt=0;safe_map mp;for(int i=1;i<=n;i++){cin>>a[i];mp[a[i]]=i;}if(is_sorted(all(a)))cout<<"0"<<endl;else {cout<<"1"<<endl;int l=1,r=n+1;while(l<r-1){int mid =(l+r)>>1;if(a[mid]>x)r=mid;else l=mid;}cout<<l<<" "<<mp[x]<<endl;}}return 0;
}

 总结:A~E题都可以用模拟or 思维解出.

 

 

http://www.yayakq.cn/news/500084/

相关文章:

  • 口碑好的做网站公司哪家好合肥如何做百度的网站推广
  • 建设厅的工程造价网站网站域名使用费用
  • 如何用网站做推广怎样开发设计网站建设
  • 建设网站公司怎么分工知名建筑类的网站
  • 网站优化快速排名软件小型网上商城系统
  • 自己做的网站如何推广中国建设企业银行怎么登录
  • jsp网站开发外文翻译上海装修公司排名十强
  • 网站建设数据库放哪婚纱摄影网站设计论文
  • 怎么做PayPal网站收款wordpress免费模板
  • 自己建网站做那个模块好物联网平台开发
  • 聊城手机站网站公司网站应该怎么建设
  • 重庆网站制作一般需要多少钱国外设计教程网站
  • 网站icp备案费用佛山百度网站快速排名
  • 商务网站建设的基本流程郑州做网站公司汉狮价格
  • 免费空间说说赞领取网站智能建筑网站
  • 网站建设方案 报价河南省城乡与住房建设厅网站首页
  • 网站站点管理自己开店怎么办会员系统
  • 滨江建设工程网站wordpress同时置顶多篇文章
  • 彭州建设网站绵阳科技城建设
  • 台州网站建设网站推广360优化大师历史版本
  • 花都建站沈阳京科医院男科
  • jsp如何进行购物网站开发广西壮族自治区建设厅官方网站
  • 王府井网上商城是正品吗seo云优化外包
  • 企业建设网站企业建筑网站do
  • 网站多国语言洛阳seo管理系统推广团队
  • 迁西网站定制聊城网站开发培训
  • 自己做的网站怎么给域名备案wordpress 4.3.4
  • app网站建设教程视频智能手机软件开发
  • 高端营销型网站制作租空间做网站需要多少钱
  • 怎样做推广网站西安网站建设技术