第二次测试部分题解 (c,d,g)

news/2024/9/8 12:29:08/文章来源:https://www.cnblogs.com/liyutaocpp/p/18327398

c-一个欧拉函数模板题

 

 1 #include<iostream>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     int n;
 7     cin >> n;
 8     int r = n;
 9     for (int i = 2; i * i <= n; i++)
10     {
11         if (n % i == 0)
12         {
13             r = r / i * (i - 1);
14             while (n % i == 0)
15                 n /= i;
16         }
17     }
18     if (n > 1)
19         r = r / n * (n - 1);
20     cout << r;
21     return 0;
22 }
View Code

 

d-机器翻译

 

 1 #include<iostream>
 2 using namespace std;
 3 int wen[1005],shu[1005];
 4 int n, m, sum,s;
 5 
 6 int main()
 7 {
 8     cin >> n >> m;
 9     int k = 0,i=0;
10     while (m--)
11     {
12         cin >> s;
13         if (shu[s] == 0)   //记录是不是重复数字
14         {
15             sum++;
16             wen[k++] = s;
17             shu[s] = 1;
18             if (k > n)  //当第一次k>n后每一次加数字都需要删除当前最先加入的数字
19                 shu[wen[i++]] = 0;  //删除了把标记数字清0
20         }
21     }
22     cout << sum << endl;
23     return 0;
24 }
View Code

 

g-借教室(前缀和加二分)

 1 #include<iostream>
 2 using namespace std;
 3 const int N = 1e6 + 5;
 4 int shu[N], d[N], l[N], r[N], z[N];
 5 int n, m,s,nu,l1,r1,xu;
 6 
 7 bool er(int x)  //判断能不能完成
 8 {
 9     memset(z, 0, sizeof(z));
10     xu = 0;
11     for (int i = 1; i <= x; i++)  //z为借教室差分数组
12     {
13         z[l[i]] += d[i];
14         z[r[i] + 1] -= d[i];
15     }
16     for (int i = 1; i <= n; i++)
17     {
18         xu += z[i];  //xu为当天需要的教室
19         if (xu > shu[i]) return 0;
20     }
21     return 1;
22 }
23 
24 int main()
25 {
26     cin >> n >> m;
27     for (int i = 1; i <= n; i++)
28         cin >> shu[i];
29     for (int i = 1; i <= m; i++)
30         cin >> d[i] >> l[i] >> r[i];
31     l1 = 1; r1 = m;
32     if (er(m)) cout << '0';
33     else
34     {
35         while (l1 < r1)
36         {
37             int mid = (l1 + r1)/  2;
38             if (er(mid)) l1 = mid +1;
39             else r1 = mid ;
40         }
41         cout << -1 << endl << l1;
42     }
43     return 0;
44 }
View Code

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/772754.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[随笔]我的创作纪念日

今天,是我开始创作的第256天,哈哈...这刚好是8位无符号二进制的“模”,一个“轮回”。 一些心得和感悟、一些历程与经历、一些收获与体会,大家感兴趣可以看看。历程 我最开始接触这个平台大约是在2020年10月份的时候,那时我正直大三上期,我已经开始备研。附言:黎老师(我…

搭建极狐GitLab(基于Docker): 步骤整合汇总记录

执行背景: (1) CentOS7(虚拟机ISO映像文件=CentOS-7-x86_64-DVD-2009.iso); (2) repo(yum)源已切换为国内源;命令汇总:1. 安装Docker 相关命令: # 查看仓库源中可使用版本 yum list docker-ce --showduplicates | sort -r# 安装指定版本 yum install docker-ce-docker完整版本号…

【待做】【攻防技术系列+权限提升】Windows提权

Windows提权思维导图Windows提权工具 vulmap vulmon开发的一款开源工具,原理是根据软件的名称和版本号来确定,是否有CVE及公开的EXP。这款Linux的工具挺好用,但是对于Windows系统层面不太适用。 windows-exp-suggester 这款和本工具的原理一样,尝试使用了之后,发现它的CVE…

[随笔]创作4天的心得感悟

随笔。【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://www.cnblogs.com/cnb-yuchen/p/18327364 出自【进步*于辰的博客】今天,3月14日,和往常一样,也不是什么节日,就是看到博友们发的动态,也有所感慨。 算一算,我接触此平台已经327天了。虽…

【待做】【攻防技术系列+网络协议】ICMP协议

ICMP协议简介 ICMP(Internet Control Message Protocol)因特网控制报文协议。它是IPv4协议族中的一个子协议,用于IP主机、路由器之间传递控制消息。控制消息是在网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然不传输用户数据,但是对于用户数据…

C141 线段树分治+线性基 P3733 [HAOI2017] 八纵八横

视频链接:C141 线段树分治+线性基 P3733 [HAOI2017] 八纵八横_哔哩哔哩_bilibili P3733 [HAOI2017] 八纵八横 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)// 线段树分治+线性基 O(q*logq*logL*logL) #include <iostream> #include <cstring> #include <a…

将Mathtype添加到WPS中

(1)在顶部菜单栏,工具--加载项--在“模板和加载项”窗口中再点击“添加”(2)找到mathtype安装路径下面的“OfficeSupprot”,这时会看到有“32”和“64”两个文件夹,分别对应WPS软件的系统(任务管理器可以直接查看wps版本)。默认路径为下边这个:(3)如果许多功能不…

BUUCTF 3.warmup_csaw_2016

拿到题目,我们先运行一下我们发现这道题的样子和BUUCTF的rip很像,一样是让我们输入,一样是在输入超长字符串后程序会崩溃,所以我们可以猜测是一道栈溢出的问题,我们来看一下保护机制我们发现依旧是几乎没开保护机制,所以大概率是一道栈溢出的题。 我们看一下IDA我们发现最…

sql注入漏洞复现

and 1=1 正常and 1=2 报错从这就已经说明是sql数字型注入了 上sqlmap验证一下存在布尔盲注,时间盲注...... 我是在漏洞盒子上提交的,能不能通过看运气吧 下面这个漏洞已经是很久之前的了,现在已经是修复了,当时还是太年轻了......当时复现过程没有做好,截图也已经删掉了..…

【PHP系列】phpinfo里面有什么?

一、INFO_GENERAL:一般信息 1.1 版本 1.2 操作系统版本和SAPI 原创 猎豹安全中心 小豹讲安全 2021-05-25 14:30 在PHP中,我们往往通过phpinfo()函数(及可选选项)来检查配置设置和预定义变量,返回结果输出关于PHP的配置信息,其中包含了 PHP 编译选项、启用的扩展、PHP 版本、…

【学习笔记】线段树

本文冲刺 \(3000\) 行中,目前行数:\(2668\) 行。 【0】线段树简介 【0.1】线段树是干什么的 线段树是一种基于分治的树形数据结构,可以处理很多区间问题,值域问题。 【0.2】线段树的形态 线段树作为一棵二叉树,其左子节点维护的是左半区间的信息,右子节点维护的是右半区间…

从零开始的JAVAday22~day28

上周我们学习了如何定义变量,这周我们学习如何给变量起名。 硬性要求: 1.由数字、字母、下划线()和美元符($)组成 2.不能以数字开头 3.不能是关键字 4.区分大小写 软性要求: 小驼峰命名法:存在一个单词时所有字母都小写,存在多个字母时第一个单词小写第二个单词首字母大写…