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

跨境商城网站建设网站建设价格多少钱

跨境商城网站建设,网站建设价格多少钱,微信小程序开发编辑器,wordpress query目录 P2249 【深基13.例1】查找 - 洛谷 (luogu.com.cn) P1102 A-B 数对 - 洛谷 (luogu.com.cn) P1678 烦恼的高考志愿 - 洛谷 (luogu.com.cn) P2440 木材加工 - 洛谷 (luogu.com.cn) P2249 【深基13.例1】查找 - 洛谷 (luogu.com.cn) 比原来的二分多一步,即寻找第…

目录

P2249 【深基13.例1】查找 - 洛谷 (luogu.com.cn)

P1102 A-B 数对 - 洛谷 (luogu.com.cn)

P1678 烦恼的高考志愿 - 洛谷 (luogu.com.cn)

P2440 木材加工 - 洛谷 (luogu.com.cn)


P2249 【深基13.例1】查找 - 洛谷 (luogu.com.cn)

比原来的二分多一步,即寻找第一次出现的位置,所以while循环中相等的情况需要额外判断是不是第一次。需要注意应该写while (left <= right)

#include<iostream>
#include<vector>
using namespace std;
int main() {int n, m;int t;cin >> n >> m;vector<int> a(n + 1);for (int i = 1; i <= n; i++) cin >> a[i];for (int i = 0; i < m; i++) {cin >> t;int res = -1;int left = 1;int right = n;while (left <= right) {int mid = left + ((right - left) >> 1);if (a[mid] > t) {right = mid - 1;}else if (a[mid] < t) {left = mid + 1;}else if (a[mid] == t) {res = mid;right = mid-1 ;}}cout << res << " ";}return 0;
}

P1102 A-B 数对 - 洛谷 (luogu.com.cn)

a-b=c转化为a=b+c,找到所有的a使b+c=a

找a的时候用二分,可以拿92分(样例3TLE力)

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main() {int n, c;scanf("%d %d", &n, &c);vector<int> a(n);for (int i = 0; i < n; i++)cin >> a[i];sort(a.begin(), a.end());int res = 0;//a-b=c转化为a=b+cfor (int i = 0; i < n; i++) {int b = a[i];//找到所有的a使b+c=aint left = 0;int right = n - 1;int t = -1;while (left <= right) {int mid = left + ((right - left) >> 1);if (a[mid] > (b + c)) right = mid - 1;else if (a[mid] < (b + c)) left = mid + 1;else {t = mid;right = mid - 1;}}if (t != -1) {while (t < n && (a[t] == b + c)) {res++;t++;}}}printf("%d\n", res);return 0;
}

介绍两个非常好用的函数,方法和上面一样,详见注释

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main() {int n, c;scanf("%d %d", &n, &c);vector<int> a(n);for (int i = 0; i < n; i++)cin >> a[i];sort(a.begin(), a.end());int res = 0;for (int i = 0; i < n; i++) {res += upper_bound(a.begin(), a.end(), a[i] + c) - lower_bound(a.begin(), a.end(), a[i] + c);//upper_bound:找到最后一个与a[i] + c相等的数//lower_bound:找到第一个与a[i] + c相等的数}printf("%d\n", res);return 0;
}

可惜还是过不去 

原来是要开long long。。。。。。

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
#define int long long
signed main() {int n, c;scanf("%lld %lld", &n, &c);vector<int> a(n);for (int i = 0; i < n; i++)cin >> a[i];sort(a.begin(), a.end());int res = 0;for (int i = 0; i < n; i++) {res += upper_bound(a.begin(), a.end(), a[i] + c) - lower_bound(a.begin(), a.end(), a[i] + c);//upper_bound:找到最后一个与a[i] + c相等的数//lower_bound:找到第一个与a[i] + c相等的数}printf("%lld\n", res);return 0;
}

欧耶,过了过了过了!

P1678 烦恼的高考志愿 - 洛谷 (luogu.com.cn)

给学校排序,根据学生的分数找学校(二分),直到找到小于等于学生分数的学校

#include<iostream>
#include<algorithm>
#include<vector>
#include<cmath>
using namespace std;
#define int long long
signed main() {int m, n;cin >> m >> n;int res = 0;vector<int> sch(m);vector<int> stu(n);for (int i = 0; i < m; i++)cin >> sch[i];for (int i = 0; i < n; i++)cin >> stu[i];sort(sch.begin(), sch.end());for (int i = 0; i < n; i++) {int left = 0;int right = m - 1;while (left <= right) {int mid = left + ((right - left) >> 1);if (sch[mid] > stu[i])right = mid - 1;else if (sch[mid] < stu[i]) {if (mid + 1 == m) {left = mid;break;}else {if (sch[mid + 1] > stu[i]) {left = mid;break;}else if (sch[mid + 1] == stu[i]) {left = mid + 1;break;}else left = mid + 1;}}else {left = mid;break;}}if (left != (m - 1)) {int x = abs(sch[left] - stu[i]);int y = abs(sch[left + 1] - stu[i]);if (x > y)res += y;else res += x;}else res += abs(sch[left] - stu[i]);}cout << res << endl;return 0;
}

二分的时候看起来很麻烦,虽然还是AC了

P2440 木材加工 - 洛谷 (luogu.com.cn)

对切出来的最大值进行二分

#include<iostream>
#include<vector>
using namespace std;
#define int long long
signed main() {int n, k;cin >> n >> k;vector<int> a(n);int sum = 0;int f = 0;for (int i = 0; i < n; i++) {cin >> a[i];if (a[i] == 1)f = 1;sum += a[i];}if (sum / k == 0) {cout << 0 << endl;return 0;}else {if (f == 1) {cout << 1 << endl;return 0;}}int left = 0;int right = sum / k;int res = 0;while (left <= right) {int mid = left + ((right - left) >> 1);int count = 0;for (int i = 0; i < n; i++) {count += a[i] / mid;}if (count >= k) {res = mid;left = mid + 1;}else if (count<k) {right = mid - 1;}}cout << res << endl;return 0;
}

其实如果没有那两个return 0的语句会RE两个,作者也不知道怎么回事。。。(可能是数据比较恶心)


文章转载自:

http://k9rPvp9E.cLgbb.cn
http://Q4qLqJ0H.cLgbb.cn
http://4lEBLK6X.cLgbb.cn
http://7Vrj55pb.cLgbb.cn
http://1thUVp2F.cLgbb.cn
http://VAfKgCZ8.cLgbb.cn
http://pUBBl7FS.cLgbb.cn
http://NXwNBYtz.cLgbb.cn
http://JvvN5VPY.cLgbb.cn
http://tqYhC64R.cLgbb.cn
http://bdcdcpQ1.cLgbb.cn
http://yr8G2nFN.cLgbb.cn
http://qed6TROE.cLgbb.cn
http://xJO1XZUx.cLgbb.cn
http://irINVcNg.cLgbb.cn
http://406e78MQ.cLgbb.cn
http://ScH76WaU.cLgbb.cn
http://p0EMkt8j.cLgbb.cn
http://2wCwTmzh.cLgbb.cn
http://HmZyMzSj.cLgbb.cn
http://0Nj76wnD.cLgbb.cn
http://U3iRtD9D.cLgbb.cn
http://KvZVJjNV.cLgbb.cn
http://gptZNKDx.cLgbb.cn
http://SHyZTpmv.cLgbb.cn
http://FgPeAybA.cLgbb.cn
http://cfX5e8c1.cLgbb.cn
http://gTX7lYQd.cLgbb.cn
http://VL5u5EpG.cLgbb.cn
http://EMGvW3fE.cLgbb.cn
http://www.dtcms.com/wzjs/717254.html

相关文章:

  • wordpress网站字体大小如何查楼盘剩余房源
  • 个人可以注册网站吗昆明
  • 深圳龙华建网站建设银行科技中心网站
  • sharepoint做网站德国室内设计联盟
  • 行业网站建设价格一个空间只能放一个网站吗
  • 家政服务技术支持东莞网站建设wordpress关注公众号阅读更多
  • 网站建设骗子深圳做网站外包公司
  • php做的网站模版如何修改网站后台时间
  • 婚庆设计网站模板linux wordpress 区别
  • 三合一网站介绍wordpress 注册字段
  • 中国最有名的建设网站河西网站建设公司
  • 画流程图的网站揭阳市seo上词外包
  • html网站制作答辩问题公众号江苏建设信息网站
  • 深圳网站设计吧网站风格发展趋势
  • 成都哪家公司做网站wordpress serene
  • 专业做外贸英文公司网站电白区住房和城乡建设局网站
  • 网络建站如何建成下载的字体安装不了到wordpress
  • 做网站的工资高广告设计是做什么的
  • 池州网站建设怎么样网站推广软文范例
  • 如何对网站进行爬虫商标设计图案免费
  • 找个可以直接看的网站河北省邢台市seo
  • 电商网站的建设与安全大港油田建设网站
  • 怎样在网站上做专栏石家庄市建设局网站首页
  • 佛山有哪些建设网站的公司北京网站制作平台
  • 台州专业网站设计系统北京西站地铁是几号线
  • 如何分析网站关键词wordpress自动安装插件
  • 个人网站架设定西市建设局官方网站
  • iis不用dns解析还有什么办法也能一个ip对应多个网站吗百度网页版网址
  • 域名备案和网站备案有什么不同html5网站建设中模板
  • 市场调研数据网站最好的 受欢迎的 免费的