首页 > 其他分享 >第二次测试部分题解 (c,d,g)

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

时间:2024-07-27 20:06:18浏览次数:14  
标签:20 shu int 题解 namespace cin 测试 第二次 cout

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

 

标签:20,shu,int,题解,namespace,cin,测试,第二次,cout
From: https://www.cnblogs.com/liyutaocpp/p/18327398

相关文章

  • 第二次测试部分题解
    A——暴力枚举计数就好了,可以参考这段代码#include<bits/stdc++.h>usingnamespacestd;#definelllonglong#definemod100003#defineMAN1000100charstr[10];intans;voidok(){ ans=0; intlen=0; for(inti=0;str[i]!='\0';i++) len++; if(l......
  • 从零手写实现 nginx-33-http_proxy 代理验证测试
    前言大家好,我是老马。很高兴遇到你。我们为java开发者实现了java版本的nginxhttps://github.com/houbb/nginx4j如果你想知道servlet如何处理的,可以参考我的另一个项目:手写从零实现简易版tomcatminicat手写nginx系列如果你对nginx原理感兴趣,可以阅读:从零......
  • 如何做安全测试
    软件测试中的安全测试是确保软件在面临各种安全威胁时能够保持稳定性和安全性的重要环节。以下是进行安全测试的主要步骤和方法:一、安全测试的主要步骤明确测试目标:确定测试的范围,包括哪些功能模块、接口和数据需要被测试。设定安全测试的具体目标,如检测SQL注入、跨站脚本(XS......
  • Java Kafka生产消费测试类
    JavaKafka生产消费测试类:生产者:packagetest.kafkatest;importjava.text.SimpleDateFormat;importjava.util.Properties;importjava.util.Random;importorg.apache.kafka.clients.producer.KafkaProducer;importorg.apache.kafka.clients.producer.ProducerConfig......
  • 2024暑假集训测试13
    前言比赛链接。从来没见过交互题,T1狂CE不止心态炸了,后面的题也没打好,T2、T3简单题都不会了,所以为啥T4又放黑题。T1大众点评原题:AT_joisc2014_d。难点主要在交互,赛时琢磨了半场比赛终于搞明白是啥玩意儿了,可以将给定库当成压缩的一部分代码,可以调用里面的函数,输入......
  • dpdk下ipsec内联卸载(inline offload)测试
    使用intel82599网卡完成。介绍本文介绍了数据平面开发套件(DPDK)框架中的内联IPsec加速支持实现,特别关注英特尔®8259910千兆以太网控制器系列的功能和支持。内联IPsec可用于实现IPsec感知系统,该系统具有比旁路辅助和加速硬件更好的延迟,前提是支持的算法合适。......
  • ABC260F 题解
    题面根据题目描述,原图为二分图,设两侧点集为\(S,T\),大小为\(s,t(s\le3\times10^5,t\le3\times10^3)\)。注意到有四元环当且仅当\(T\)中存在一个点对\((a,b)\)同时和\(S\)中的某两个点连边。可以先考虑暴力,一种想法是:考虑枚举\(S\)中的点\(c\),设和\(c\)连边的点......
  • ABC263F 题解
    题面注意到把对局在图上表示出来是一颗满二叉树(叶节点为选手,其他点为对局),可以考虑树形dp。设\(x\)为\([l_x,r_x]\)之间选手的比赛,且该节点到叶子结点距离\(d_x\)。设\(f(x,p)\)表示胜者为\(p\)的最大钱数,有转移:\[\begin{aligned}f(x,p)&=f(lson(x),p)+g(rson(x))+a......
  • ABC262F 题解
    题面把“移动\(a_n\)至数列头”称为rotate,删除一项称为erase。因为要求字典序最小,所以可以逐位贪心。考虑一个数\(a_i\)怎么变成第一个数:使用\(n-i\)次rotate/erase,再rotate一次。删除或移动原来的\(a_{i+1}\sima_n\),再移动原来的\(a_i\)(逐步移动到数列尾,再ro......
  • ABC261F 题解
    题面注意到如果两个球\(i,j\)有\(i<j,x_i>x_j\),那么这两个球一定会交换。所以要交换\(x\)的逆序对数次。但是相同颜色交换没有代价,所以答案是\(x\)的逆序对数减去满足\(c_i=c_j,i<j,x_i>x_j\)的\((i,j)\)对的数量。可以对每个\(j\)都求一遍满足\(c_i=j\)的\(......