A. Roma and Changing Signs
此题最希望的是能把所有的负数都变成正数,当负数个数>=操作数,由小到大变正;当负数个数<操作数时,剩下的操作数只对最小的操作。
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
int n,k;
int a[100005];
int main()
{
int i,j;
while(cin >> n >> k)
{
int cnt = 0;
for(i=0; i<n; i++)
{
scanf("%d",&a[i]);
if(a[i] < 0)
cnt ++;
}
if(cnt >= k)
{
for(i=0; i<k; i++)
a[i] = -a[i];
}
int t = 0;
if(cnt < k)
{
for(i=0; i<cnt; i++)
a[i] = -a[i];
t = (k - cnt) % 2;
sort(a,a+n);
if(t == 1)
a[0] = -a[0];
}
long long sum = 0;
for(i=0; i<n; i++)
sum += a[i];
cout << sum << endl;
}
return 0;
}
B. Maxim and Discounts
活动有几种,买n送2,贪心的角度,选择n最小的。因为送的两件商品价格必须低于买的n件,所以将商品从大到小排序。
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
using namespace std;
int n,m;
int a[100005],q[100005];
bool cmp(int a,int b)
{
return a > b;
}
int main()
{
int i,j;
while(cin >> m)
{
int minm = 100000000;
for(i=0; i<m; i++)
{
scanf("%d",&q[i]);
if(minm > q[i])
minm = q[i];
}
cin >> n;
for(i=0; i<n; i++)
scanf("%d",&a[i]);
sort(a,a+n,cmp);
int sum = 0,cnt = minm,tmp = 0;
for(int i=0; i<n; i++)
{
if(tmp > 0)
{
tmp --;
cnt = minm;
continue;
}
cnt --;
if (cnt == 0)
tmp = 2;
sum += a[i];
}
cout << sum << endl;
}
return 0;
}
D. Squares
水题,看完就能做了
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
bool cmp(int a,int b)
{
return a >b;
}
int a[55];
int n,k;
int main()
{
int i;
while(cin >> n >> k)
{
for(i=1; i<=n; i++)
cin >> a[i];
if(k > n)
{
cout << -1 << endl;
continue;
}
sort(a+1,a+n+1,cmp);
cout << a[k] << ' ' << a[k] << endl;
}
return 0;
}
F. Cycle in Graph
在图中找出环......
先dfs找出一条链,然后从开头开始判断与尾部是否相连
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <vector>
#define MAX 100010
using namespace std;
bool vis[MAX],neigh[MAX];
vector<int>a[MAX];
vector<int>lis;
int n,m,k;
void dfs(int x)
{
vis[x] = 1;
lis.push_back(x);
for(int i=0; i<a[x].size(); i++)
{
if(vis[a[x][i]] == 1)
continue;
vis[a[x][i]] = 1;
dfs(a[x][i]);
break;
}
}
int main()
{
int i,j,b,c;
while(cin >> n >> m >> k)
{
memset(vis,0,sizeof(vis));
memset(neigh,0,sizeof(neigh));
lis.clear();
for(i=0;i<MAX; i++)
a[i].clear();
for(i=0; i<m; i++)
{
scanf("%d%d",&b,&c);
a[b].push_back(c);
a[c].push_back(b);
}
dfs(1);
int t = lis.back();
for(i=0; i<a[t].size(); i++)
{
neigh[a[t][i]] = 1;
}
while(neigh[lis[0]] == 0)
lis.erase(lis.begin());
cout << lis.size() << endl;
for(i=0; i<lis.size(); i++)
cout << lis[i] << ' ';
cout << endl;
}
return 0;
}
G. Roadside Trees (Simplified Edition)
水题直接模拟
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
int n;
int main()
{
int a;
int sum=0,b=0;
cin >> n;
while (n--)
{
scanf("%d",&a);
sum++;
if(a > b)
sum += (a-b);
else if(b > a)
sum += (b-a);
sum++;
b = a;
}
printf("%d\n",sum-1);
return 0;
}
H. Escape from Stones
题目的叙述是二分的思想,可以推断 :第一次向右边跳时,原所在点肯定是总的边界的最左边(以后不会更靠左边),同理,第一次向左跳时,原所在点为最右端。
直接根据输入输出
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
using namespace std;
char a[1000005];
int main()
{
cin >> a;
int len = strlen(a);
for(int i=0; i<len; i++)
{
if(a[i] == 'r')
cout << i+1 << endl;
}
for(int i=len-1; i>=0; i--)
{
if(a[i] == 'l')
cout << i+1 << endl;
}
return 0;
}
I. Good Sequences
此题直接用o(n^2)的dp铁定超时,但还是忍不住交了一发
参考了CF的代码,预先将所有不互质的关系保存好。然后从遍历,dp[i] = max(dp[p[i][j]]+1,dp[i])
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <vector>
using namespace std;
int a[100005],good[100005],dp[100005];
int n;
vector<int>p[100005];
int main()
{
int i,j;
while(cin >> n)
{
int maxn = 0;
memset(good,0,n);
memset(dp,0,sizeof(dp));
for(i=0; i<n; i++)
{
scanf("%d",&a[i]);
maxn = max(a[i],maxn);
good[a[i]] = 1;
}
for(i=2; i<=maxn; i++)
{
int tmp = 0;
for(j=i; j<=maxn; j+=i)
{
if(good[j] == 1)
{
if(tmp != 0)
p[j].push_back(tmp);
tmp = j;
}
}
}
int ans = 1;
for(i=2; i<=maxn; i++)
{
if(good[i] == 1)
{
dp[i] = 1;
for(j=0; j<p[i].size(); j++)
{
dp[i] = max(dp[p[i][j]]+1,dp[i]);
}
ans = max(dp[i],ans);
}
}
cout << ans << endl;
}
return 0;
}
分享到:
相关推荐
消息中间件java操作demo 提供activeMq的 java实现,和两种模式:点对点、发布和订阅 直接clone下来,导入maven项目启动test包下的 Client.java
波士顿房价数据集 波士顿房价数据集 目的:通过分析十三个房屋特征与房价的关系,同时建立模型进行房价预测 波士顿房价指标与房价的关系 CRIM:城镇人均犯罪率——负相关占比 ZN:住宅用地所占比例——无单个特征 INDUS:城镇中非住宅用地所占比例——负相关 CHAS:虚拟变量,用于回归分析——无单个特征 NOX:环保指数——无单个特征 RM:每栋住宅的房间数——正相关 AGE:1940年以前建成的自住单位的比例——无单个特征 DIS:距离5个波士顿的就业中心的加权距离——无单个特征 RAD:距离高速公路的便利指数——无单个特征 TAX:每一万美元的不动产税率——无单个特征 PTRATIO:城镇中教师学生比例——无单个特征 B:城镇中黑人的比例——无单个特征 LSTAT:地区中多少房东属于低收入人群——负相关 MEDV:自主房屋房价中位数(标签数据)——房价中位数
【资源说明】 优秀毕业设计 基于STM32单片机的家庭智能安全系统源码+详细文档+全部数据资料.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
基于python U2Net 深度学习的证件照生成.zip
python爬虫教程系列、从0到1学习python爬虫,包括浏览器抓包,手机APP抓包,如 fiddler、mitmproxy,各种爬虫涉及的模块的使用,如:requests、beautifulSoup、selenium、appium、scrapy等,以及IP代理,验证码识别,Mysql,MongoDB数据库的python使用,多线程多进程爬虫的使用,css 爬虫加密逆向破解,JS爬虫逆向,分布式爬虫,爬虫项目实战实例等
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
streamlit hello.py
+++罗兰贝格PPT模板-436页(绝对经典!)
固定资产管理系统是对高校固定资产的一个信息化管理系统,基本功能包括:对固定资产的购进、接触、销毁,对物品的使用状态、借出状态、库存状态等进行标识,对各类物品进行编号,根据编号进行查询,根据名称进行查询等。本系统结构如下: (1)系统登录: 用户登录模块:登录功能 重置 (2)系统用户管理: 对系统用户的增加 系统用户的权限修改 系统用户的删除 分配系统用户的权限 修改本身登录密码 资产的相关维护 (3)员工信息管理: 教工的增加、修改、删除、查询 (4)资产入库管理: 资产的录入 资产的属性修改 资产的报废删除 资产的属性查询 (5)资产维护管理: 物资的维修、维护物资的信息修改 (7)资产借还管理: 增加借出资产 查询借出资产 归还已借出资产 (8)打印报表
GB 4762-1984 政治面貌代码.pdf
全域系统链性态网体系化作战矩阵.txt
【资源概览】 高分项目 基于STM32单片机的电子血压计设计源代码+项目资料齐全+教程文档.zip高分项目 基于STM32单片机的电子血压计设计源代码+项目资料齐全+教程文档.zip高分项目 基于STM32单片机的电子血压计设计源代码+项目资料齐全+教程文档.zip 【资源说明】 高分项目源码:此资源是在校高分项目的完整源代码,经过导师的悉心指导与认可,答辩评审得分高达95分,项目的质量与深度有保障。 测试运行成功:所有的项目代码在上传前都经过了严格的测试,确保在功能上完全符合预期,您可以放心下载并使用。 适用人群广泛:该项目不仅适合计算机相关专业(如电子信息、物联网、通信工程、自动化等)的在校学生和老师,还可以作为毕业设计、课程设计、作业或项目初期立项的演示材料。对于希望进阶学习的小白来说,同样是一个极佳的学习资源。 代码灵活性高:如果您具备一定的编程基础,可以在此代码基础上进行个性化的修改,以实现更多功能。当然,直接用于毕业设计、课程设计或作业也是完全可行的。 欢迎下载,与我一起交流学习,共同进步!
基于深度学习的普通话语音识别.zip
案例说明:开发一个简单的2D平台跳跃游戏,游戏中,玩家控制一个角色跳过障碍物,收集金币,以达到终点。 Unity是一个功能全面、灵活性高的游戏开发平台,适合各种规模的项目开发。通过本报告的分享,希望能帮助初学者快速掌握Unity开发的核心内容,并在实际开发中运用这些知识和技能。本报告旨在通过详细的案例分析和代码示例,为Unity开发者提供实用的指导和参考,助力开发者构建更加丰富和专业的游戏作品。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
基于STC8A8K64S4A12国产单片机参考程序LCD12864 液晶oled LCD1602显示等例程工程源码合集(45个): 30 DS18B20温度读取 串口监测 31 LCD12864 汉字显示函数 32 LCD12864 哆啦A梦图片显示 33 LCD12864 图片显示 34 红外解码 35 红外解码的应用 36 spi初始化 串口监测 37 外部FLASH读写 串口监测 38 NRF无线通讯测试 串口检测 39 9325TFT刷屏测试 4 定时器0 模式0 40 串口3 定时器2 41 串口3 定时器3 42 串口4 定时器4 43 主机对从机ISP程序下载 参考程序 44 SPI主从机设置通讯 测试程序 45 ESP8266 AP+Station服务器模式测试 5 定时器0 P35模拟10位或16位PWM输出程序 6 定时器1 模式0 7 定时器2 8 看门狗实验 9 串口1发送 8位自动重装载 2 P55口LED灯运行 使能外部晶振 20 16位PCA定时器脉冲输出 21 串口控制8位PWM 占空比 22 8位PWM控制P3.5 23 硬体I2C 主机访问AT24C
#!/usr/bin/python # -*- coding:utf-8 -*- #参考:https://blog.csdn.net/qq_43057091/article/details/82179301 import os,sys import paramiko #创建transport对象 t = paramiko.Transport(('192.168.56.102',22)) #连接服务器 #创建sftp对象 #将temp.txt上传到服务器/home/redhat/Documents目录 # 将sftp.txt下载到本机桌面
基于消息中间件的学习记录以及源码示例【JMS、AMQP、ActiveMQ、RocketMQ】.zip