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

集团 投入巨资 做网站制作相册

集团 投入巨资 做网站,制作相册,wordpress 迁移 乱码,常见软件开发模型有哪些总题单 本部分总题单如下 【腾讯文档】副本-CSP-JSNOI 题单 (未完待续) https://docs.qq.com/sheet/DSmJuVXR4RUNVWWhW?tabBB08J2 队列篇题单 P1540 [NOIP 2010 提高组] 机器翻译 https://www.luogu.com.cn/problem/P1540 题目背景 NOIP2010 提高组 T1 题目描述 小晨…

总题单

本部分总题单如下

【腾讯文档】副本-CSP-JS+NOI 题单 (未完待续)

https://docs.qq.com/sheet/DSmJuVXR4RUNVWWhW?tab=BB08J2

队列篇题单

请在此添加图片描述

P1540 [NOIP 2010 提高组] 机器翻译

https://www.luogu.com.cn/problem/P1540

题目背景

NOIP2010 提高组 T1

题目描述

小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。

这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻译。

假设内存中有 M M M 个单元,每单元能存放一个单词和译义。每当软件将一个新单词存入内存前,如果当前内存中已存入的单词数不超过 M − 1 M-1 M1,软件会将新单词存入一个未使用的内存单元;若内存中已存入 M M M 个单词,软件会清空最早进入内存的那个单词,腾出单元来,存放新单词。

假设一篇英语文章的长度为 N N N 个单词。给定这篇待译文章,翻译软件需要去外存查找多少次词典?假设在翻译开始前,内存中没有任何单词。

输入格式

2 2 2 行。每行中两个数之间用一个空格隔开。

第一行为两个正整数 M , N M,N M,N,代表内存容量和文章的长度。

第二行为 N N N 个非负整数,按照文章的顺序,每个数(大小不超过 1000 1000 1000)代表一个英文单词。文章中两个单词是同一个单词,当且仅当它们对应的非负整数相同。

输出格式

一个整数,为软件需要查词典的次数。

输入输出样例 #1

输入 #1

3 7
1 2 1 5 4 4 1

输出 #1

5

说明/提示

样例解释

整个查字典过程如下:每行表示一个单词的翻译,冒号前为本次翻译后的内存状况:

  1. 1:查找单词 1 并调入内存。
  2. 1 2:查找单词 2 并调入内存。
  3. 1 2:在内存中找到单词 1。
  4. 1 2 5:查找单词 5 并调入内存。
  5. 2 5 4:查找单词 4 并调入内存替代单词 1。
  6. 2 5 4:在内存中找到单词 4。
  7. 5 4 1:查找单词 1 并调入内存替代单词 2。

共计查了 5 5 5 次词典。

数据范围

  • 对于 10 % 10\% 10% 的数据有 M = 1 M=1 M=1 N ≤ 5 N \leq 5 N5
  • 对于 100 % 100\% 100% 的数据有 1 ≤ M ≤ 100 1 \leq M \leq 100 1M100 1 ≤ N ≤ 1000 1 \leq N \leq 1000 1N1000

代码1

#include <iostream>
#include <stdio.h>
#include <algorithm>
using namespace std;
// m为内存容量 n为文本长度
// x为输入的单词 ans为答案,查询次数
// a[x]为当前单词是否在内存中 为0表示不在 为1表示在
// b
int n,m,x,ans,l,r,a[1005],b[1005];
int main()
{cin>>m>>n;l=0;r=0;//初始化两个指针for (int i=1;i<=n;i++){scanf("%d",&x);//边读入边做if (a[x]==0) { // 当前单词x不在内存中ans++; // ans++ 执行一次查询r++;//当前内存数组a的长度b[r]=x;// 把新单词放入内存数组a[x]=1;// 标记该单词已在内存中//因为每次遇到新单词都要做这些操作,不如搬到判断语句外做,这样程序更简洁// 如果当前内存使用的长度超过容量 m,就将最早进入的单词移出内存(FIFO 策略)。if (r>m) { // 左指针l++;// 注意:这里 b[l] 表示最早进入的单词编号,a[b[l]] = 0 表示这个单词已经不在内存中了。a[b[l]]=0;}}}cout<<ans;return 0;//千万不能忘记打这句,不然在比赛中会出错
}

代码2

上面的代码中,可能存在数据下标问题,修改后的如下

#include <iostream>
using namespace std;int main() {int m, n, x, ans = 0, l = 0, r = -1; // 初始化右指针为-1,因为每次插入都会先自增cin >> m >> n;bool a[1005] = {false}; // 使用bool类型简化标记逻辑int b[1005]; // 内存队列for (int i = 0; i < n; ++i) {cin >> x; // 输入当前单词编号if (!a[x]) { // 如果当前单词不在内存中ans++; // 增加查询次数r++; // 准备插入新单词前增加右指针b[r] = x; // 将单词加入内存队列a[x] = true; // 标记该单词已在内存中if (r - l + 1 > m) { // 检查是否超过了内存容量a[b[l]] = false; // 将最早进入的单词移出内存l++; // 移动左指针以更新最早进入的单词位置}}}cout << ans << endl; // 输出总共发生查询的次数return 0;
}

P2952 [USACO09OPEN] Cow Line S

https://www.luogu.com.cn/problem/P2952

题目描述

Farmer John(以下简称 FJ)的 N N N 头奶牛(用 1 … N 1 \dots N 1N 编号)在直线上排队。一开始,这条线上没有任何奶牛,随着时间的推移,奶牛们会一个接一个地站到队伍的左边或右边。又过了一会儿,某些奶牛会从队伍里离开,去吃自己最喜欢的草料。

FJ 无法跟踪每一头奶牛,于是,他想让你来帮助他。

奶牛以 1 … N 1 \dots N 1N 的顺序排队,并且离开的奶牛不会再次回来。数据将会给出 S S S 1 ≤ S ≤ 100000 1 \le S \le 100000 1S100000) 条指令,各占一行,分两种:

  • 1 1 1 头奶牛加入了队列(还有一个参数,表示从左加入还是从右加入);
  • K K K 头奶牛从左边或者右边离开了队列(还有两个参数,分别表示从左离开还是从右离开和离开多少头奶牛)。

输入的命令一定是可以执行的。

所有的操作结束后,你的程序应该以从左到右的顺序输出这个奶牛队列。数据保证最后的队列不空。

输入格式

  • 1 1 1 行:单独一个整数 S S S
  • 2 … S + 1 2 \dots S+1 2S+1 行:第 i + 1 i+1 i+1 行会有一条命令,有以下几种:
    • A L:一头奶牛从队列左边加入;
    • A R:一头奶牛从队列右边加入;
    • D L K K K K 头奶牛从队伍左边离开;
    • D R K K K K 头奶牛从队伍右边离开。

输出格式

  • 1 … ? ? 1 \dots ?? 1?? 行:从左到右输出最后的奶牛队列,一个奶牛编号占一行。

【样例解释】

以下为输入的命令及对应的队列:

  • A L 1 1 1
  • A L 2 , 1 2,1 2,1
  • A R 2 , 1 , 3 2,1,3 2,1,3
  • A L 4 , 2 , 1 , 3 4,2,1,3 4,2,1,3
  • D R 2 4 , 2 4,2 4,2
  • A R 4 , 2 , 5 4,2,5 4,2,5
  • A R 4 , 2 , 5 , 6 4,2,5,6 4,2,5,6
  • D L 1 2 , 5 , 6 2,5,6 2,5,6
  • A L 7 , 2 , 5 , 6 7,2,5,6 7,2,5,6
  • A R(最终序列): 7 , 2 , 5 , 6 , 8 7,2,5,6,8 7,2,5,6,8

输入输出样例 #1

输入 #1

10 
A L 
A L 
A R 
A L 
D R 2 
A R 
A R 
D L 1 
A L 
A R

输出 #1

7 
2 
5 
6 
8

说明/提示

Input Resulting Cow Line

A L 1

A L 2 1

A R 2 1 3

A L 4 2 1 3

D R 2 4 2

A R 4 2 5

A R 4 2 5 6

D L 1 2 5 6

A L 7 2 5 6

A R 7 2 5 6 8

感谢@ ws_fuweidong 提供翻译。

代码

#include <iostream>
#include <deque> // 引入双端队列库
using namespace std;deque<int> Q; // 定义一个双端队列Q用于存储奶牛编号int main(){int n, c = 1, k; // n表示操作的数量,c用来生成新的奶牛编号,k表示要移除的奶牛数量char a, b; // a和b分别代表输入的第一个和第二个字符,用于判断操作类型cin >> n; // 输入操作的数量nfor(int i = 1; i <= n; i++){cin >> a >> b; // 每次循环开始时读取两个字符a和bif(a == 'A' && b == 'L') // 如果a为'A'且b为'L',表示将新奶牛添加到队列前端Q.push_front(c++); // 在队列前端插入当前编号c,并自增celse if(a == 'A') // 如果只有a为'A',表示将新奶牛添加到队列后端Q.push_back(c++); // 在队列后端插入当前编号c,并自增celse if(b == 'L'){ // 如果b为'L',表示需要从队列前端移除k头奶牛cin >> k; // 输入需要移除的奶牛数量kfor(int j = 1; j <= k; j++)Q.pop_front(); // 从队列前端移除k次} else { // 否则,默认从队列后端移除k头奶牛cin >> k; // 输入需要移除的奶牛数量kfor(int j = 1; j <= k; j++)Q.pop_back(); // 从队列后端移除k次}}while(!Q.empty()) // 当队列不为空时,输出队列中的所有元素cout << Q.front() << endl, Q.pop_front(); // 输出并移除队列前端的元素return 0;
}

现场真题注意事项

https://cspoj.com/contest.php?cid=1002Fus5yz4x3EcSJH1Z

注意事项

文件名(程序名和输入输出文件名)必须使用英文小写。(提交必须使用freopen()进行提交)

C/C++ 中函数 main() 的返回值类型必须是 int,程序正常结束时的返回值必须是0。

提交的程序代码文件的放置位置请参考各省的具体要求。

因违反以上三点而出现的错误或问题,申述时一律不予受理。

若无特殊说明,结果的比较方式为全文比较(过滤行末空格及文末回车)。

程序可使用的栈空间内存限制与题目的内存限制一致。

全国统一评测时采用的机器配置为:Inter® Core™ i7-8700K CPU @3.70GHz,内存 32GB。上述时限以此配置为准。

只提供 Linux 格式附加样例文件。

评测在当前最新公布的 NOI Linux 下进行,各语言的编译器版本以此为准

假设输入样例数据存在文件test.in中,输出样例数据存在文件test.out中,

则在CSP、NOI等比赛的代码中,需添加freopen、fclose语句,

内容详见模板代码如下。

#include <bits/stdc++.h>
#include<cstdio>//必须包含cstdio头文件
#include<iostream>
using namespace std;int main(){freopen("test.in","r",stdin);freopen("test.out","w",stdout);cout<<"Hello NOI"<<endl;fclose(stdin);fclose(stdout);return 0;
}

复制

下面为函数的简介,详细可参见 http://www.cplusplus.com/reference/clibrary/cstdio/freopen.html

函数名:freopen

声明:FILE freopen( const char path, const char mode, FILE stream );

所在文件: stdio.h

参数说明:

path: 文件名,用于存储输入输出的自定义文件名。

mode: 文件打开的模式。和fopen中的模式(如r-只读, w-写)相同。

stream: 一个文件,通常使用标准流文件。

返回值:成功,则返回一个path所指定文件的指针;失败,返回NULL。(一般可以不使用它的返回值)

功能:实现重定向,把预定义的标准流文件定向到由path指定的文件中。标准流文件具体是指stdin、stdout和stderr。其中stdin是标准输入流,默认为键盘;stdout是标准输出流,默认为屏幕;stderr是标准错误流,一般把屏幕设为默认。通过调用freopen,就可以修改标准流文件的默认值,实现重定向。

#include<iostream>
#include<cstdio>
using namespace std;
int main(){freopen("7532.in", "r", stdin);freopen("7532.out", "w", stdout);//原来的代码保持不变double a, b, r;int k;cin >> a >> b;k = int(a/b);r = a - b * k;printf("%g", r);//-------------fclose(stdin);fclose(stdout);return 0;
}

文章转载自:

http://GMCdeBQz.rqLbp.cn
http://X3c2vyYH.rqLbp.cn
http://GCK4Gg4F.rqLbp.cn
http://TpsXzwtS.rqLbp.cn
http://8msJnut0.rqLbp.cn
http://5TV2KfwT.rqLbp.cn
http://e1WyPfli.rqLbp.cn
http://PO7KRYAc.rqLbp.cn
http://w2g3r2XZ.rqLbp.cn
http://VW5aDa5F.rqLbp.cn
http://pZpzLnCW.rqLbp.cn
http://yPZSnv4V.rqLbp.cn
http://2jmrovZr.rqLbp.cn
http://ibCZbmu4.rqLbp.cn
http://xkm1Fn1D.rqLbp.cn
http://w4PddVaP.rqLbp.cn
http://HPrXxwC5.rqLbp.cn
http://7W8q880c.rqLbp.cn
http://l165s9t9.rqLbp.cn
http://8GXgqaHJ.rqLbp.cn
http://yYHxtxX7.rqLbp.cn
http://v3YUJoeL.rqLbp.cn
http://01pXjyZL.rqLbp.cn
http://htp0QI2K.rqLbp.cn
http://smxLqT47.rqLbp.cn
http://rd6DnY5r.rqLbp.cn
http://Oj98q3WN.rqLbp.cn
http://XyOx6IqT.rqLbp.cn
http://SvgLwkjx.rqLbp.cn
http://GUP5OG3F.rqLbp.cn
http://www.dtcms.com/wzjs/689221.html

相关文章:

  • 惠州网站设计定制wordpress升级主题总是失败
  • 网站优化方案怎么写电商直播系统开发
  • 九江网站建设公司wordpress 印象码
  • 网站如何用微信支付wordpress用户名和密码
  • 中国网站建设公司百强wordpress 下载站
  • 做app 的模板下载网站有哪些百度字体如何转换wordpress
  • 宜宾市城乡建设厅网站免费试用网站空间
  • 厦门找一家做网站的公司汽车专业网站
  • wordpress主题qux如何做网站优化推广
  • 做纸巾定制的网站我做微信淘宝客网站
  • 东莞市国外网站建设多少钱修改 wordpress footer
  • 网站开发一个人可以完成吗做led灯网站有哪些呢
  • 知名的教育行业网站开发ui自学网站
  • 俄语网站上海市建设工程招标公告
  • flash网站模板源码专业网站设计制作过程
  • 企业网站怎么管理系统招生处网站建设方案
  • 如何利用微信进行企业网站推广兴义网站建设网站建设
  • 做互联网网站需要什么资质吗鞍山网站制作推广
  • 网站是怎么建成的公司网站上线的通知
  • 做地方黄页网站外链代发公司
  • 电商企业门户网站建设方案国际军事新闻最新消息今天
  • dede网站模板页在什么文件夹自己做模板网站
  • 常用外贸网站企业网站建设的缺点
  • 网站打不开了怎么办商城小程序定制公司
  • 建设工程学部研究生培养网站商洛网站开发公司
  • 高档网站建设公司广州英文建站公司
  • 网站支付宝怎么做的数字广东网络建设有限公司地址
  • 做网站定制开发的公司哪家好济南快速网站排名
  • 网站开发+进度表做互联网产品和运营必备的网站
  • 张家港手机网站制作教育行业展示网站模板