刷好题,固基础-3

CSP 202309-3 梯度求解

知识点1:stringsteam

stringsteam:支持对string 对象更灵活的处理;

作用:类型转换,词句转换

利用stringstream 实现句子与单个单词之间的转换;

1. 句子 转为单个的词

string a ="how old are you , dear ?";

stringstream ss;

ss << a;

string b;

while(ss >> b)

{

cout <<b<<endl;

}

字符串切割还可以使用如下方法:

getline(ss, 切割出来的子串, “间隔字符”);

while(getline(ss, tmp, ' ')){
        vec.push_back(tmp);
    }

2. 单个的词拼接为句子

stringstream ss;

ss << "how"<<" "<<"old"<<" "<<"are"<<" "<<"you"<<" "<<","<<"dear"<<" "<<"?";

string b;

b = ss.str();

cout<<b<<endl;

AC代码:

#include <bits/stdc++.h>
using namespace std;
const int N = 1005;
const int mod = 1e9 + 7;
using ll = long long;
ll coef[N];
int n, m, to_solve;
string s, tmp;
vector<string> vec;
void solve() {stack<map<ll, ll>> expr;for (auto& str: vec) {if (str.empty()) {continue;}if (str[0] == 'x') { // varll index = atoi(str.substr(1).c_str()); //取变量编号map<ll, ll> tp;if (index == to_solve) {	//如果是目标变量,标记 tp[1] = 1;	//使用0和1将目标变量和普通变量分隔开 } else {tp[0] = coef[index] % mod;	//不是,记录变量系数 }expr.push(tp);} else if (str.size() == 1 && !isdigit(str[0])) { //是操作符 auto pre = expr.top(); expr.pop();auto suf = expr.top(); expr.pop();map<ll, ll> res;if (str == "+") {for(auto& p: pre) {res[p.first] = (p.second % mod);	//提取变量系数 }for (auto& p: suf) {res[p.first] = (res[p.first] + p.second) % mod;}} else if (str == "-") {	//注意处理顺序 for(auto& p: suf) {res[p.first] = (p.second % mod);}for (auto& p: pre) {res[p.first] = (res[p.first] - p.second) % mod;}} else {for (auto& p: pre) {for (auto& q: suf) {ll zs = p.first + q.first;ll bs = (p.second * q.second) % mod;res[zs] = (res[zs] + bs) % mod;}}}expr.push(res);} else { // digitll digit = atoi(str.c_str());digit %= mod;map<ll, ll> tp;tp[0] = digit;expr.push(tp);}}assert(expr.size() == 1);	//如果expr大小为1,终止执行 ll res = 0;while (!expr.empty()) {auto final_expr = expr.top();expr.pop();for (auto& p: final_expr) {ll pw = 1;ll bs = (p.second * p.first) % mod;ll c = p.first - 1;while (c > 0) {c--;pw = (pw * coef[to_solve]) % mod;}pw = (pw * bs) % mod;res = (res + pw) % mod;}}res %= mod;res = (res + mod) % mod;cout << res << '\n';}
int main() {cin >> n >> m;getchar();	//回车 getline(cin, s);stringstream ss(s);while (getline(ss, tmp, ' ')) {vec.push_back(tmp);}for (int i = 1; i <= m; i++) {cin >> to_solve;for (int j = 1; j <= n; j++) {cin >> coef[j];}solve();}
}

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

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

相关文章

2024年第四届天府杯B题赛题

B 题&#xff1a;新质生产力引领下的企业生产与发展策略优化 问题背景&#xff1a; 随着技术的飞速发展&#xff0c;新质生产力如人工智能、大数据分析、物联网等技术被广泛应用于生产和服务过程中&#xff0c;极大地提高了生产效率和产品质量&#xff0c;改变了传统的生产与经…

【JavaEE】初识线程,线程与进程的区别

文章目录 ✍线程是什么&#xff1f;✍线程和进程的区别✍线程的创建1.继承 Thread 类2.实现Runnable接口3.匿名内部类4.匿名内部类创建 Runnable ⼦类对象5.lambda 表达式创建 Runnable ⼦类对象 ✍线程是什么&#xff1f; ⼀个线程就是⼀个 “执行流”. 每个线程之间都可以按…

大数据开发(离线实时音乐数仓)

大数据开发&#xff08;离线实时音乐数仓&#xff09; 一、数据库与ER建模1、数据库三范式2、ER实体关系模型 二、数据仓库与维度建模1、数据仓库&#xff08;Data Warehouse、DW、DWH&#xff09;1、关系型数据库很难将这些数据转换成企业真正需要的决策信息&#xff0c;原因如…

【python】数据库操作

文章目录 数据库编程接口连接对象获取连接对象 connect()连接对象的方法游标对象SQLite——SQLite3MySQL——pyMySQL数据库编程接口 python 数据库API接口的各个部分: 模块接口连接对象游标对象类型对象构造器DB API的可选扩展可选的错误处理机制连接对象 主要提供获取数据库…

腾讯云服务器租用价格表,2核2G3M带宽61元一年

腾讯云服务器租用价格表&#xff0c;2核2G3M带宽61元一年&#xff0c;配置&#xff1a;轻量应用服务器、2核2G3M、3M带宽、200GB月流量、上海/广州/北京、40GB SSD云硬盘、61元一年。 腾讯云服务器有两个活动&#xff0c;一个是官方的主会场入口&#xff0c;还有一个是买赠专区…

【快速解决】解决谷歌自动更新的问题,禁止谷歌自动更新,如何防止chrome自动升级 chrome浏览器禁止自动升级设置方法

目录 问题描述 解决方法 1、搜索栏搜索控制面板 2、搜索&#xff1a;服务 ​编辑 3、点击Windows工具 4、点击服务 ​5、禁止谷歌更新 问题描述 由于我现在需要装一个谷歌的驱动系统&#xff0c;但是目前的谷歌驱动系统的版本都太旧了&#xff0c;谷歌自身的版本又太新了…

docker常用命令(不断更新)

1、docker将镜像打成文件 docker save -o image.tar your_image_name:tag; #比如 docker save - o nginx.tar nginx:latest2、将文件加载成docker镜像 docker load -i image.tar #比如 docker load -i nginx.tar3、docker进入到容器里面 docker exec -it 容器id bash4、dock…

上海:6月1日起取消企业复工复产白名单制

财经新闻5月29日消息&#xff1a;上海市人民政府关于印发《上海市加快经济恢复振兴行动计划》的通知。 《方案》包括千方百计缓解各类市场主体困难&#xff0c;全面有序推进复工复产和市场复工复产&#xff0c;多措并举稳外资稳外贸&#xff0c;大力促进消费加速复苏&#xff0…

uboot与分区表

分区表的作用 存储信息&#xff1a;分区表是存储设备&#xff08;如硬盘、SSD、MMC等&#xff09;上的一个特殊部分&#xff0c;它包含了关于设备上所有分区的信息&#xff0c;如起始和结束位置、分区类型、大小等。组织数据&#xff1a;通过分区表&#xff0c;存储设备被划分…

argocd cli工具使用

一、前言 ragocd除了使用web界面操作之外&#xff0c;也可以通过argocd cli工具进行操作&#xff0c;关于集群创建、gitlab仓库创建、app创建都是可以通过yaml 文件去操作&#xff0c;使用web界面创建的操作也需要使用argocd cli工具进行备份 二、使用 在argocd部署的章节已经…

Windows安装Odoo结合内网穿透实现公网访问本地企业管理系统

文章目录 前言1. 下载安装Odoo&#xff1a;2. 实现公网访问Odoo本地系统&#xff1a;3. 固定域名访问Odoo本地系统 前言 Odoo是全球流行的开源企业管理套件&#xff0c;是一个一站式全功能ERP及电商平台。 开源性质&#xff1a;Odoo是一个开源的ERP软件&#xff0c;这意味着企…

数字后端概念——FinFET/Nanosheet FET

FinFET/Nanosheet FET的概念 3nm后&#xff0c;芯片该何去何从&#xff1f; 3nm后&#xff0c;芯片该何去何从&#xff1f; 解决以上问题的有效办法是将电源/接地线埋入基板&#xff0c;即BPR&#xff08;Buried Power Rails&#xff09;。利用BPR方法&#xff0c;可将Track数…

盏燕生物科技将出席2024第七届燕窝天然滋补品博览会

参展企业介绍 深圳市盏燕生物科技有限公司&#xff0c;办公室地址位于中国第一个经济特区&#xff0c;鹏城深圳&#xff0c;深圳市龙岗区平湖街道禾花社区富安大道18号亚钢工贸大楼1栋1017A&#xff0c;我公司主要提供一般经营项目是&#xff1a;初级农产品、海产品、化妆品、…

R使用netmeta程序包实现生存数据的频率学网状meta分析

之前的推文系统的介绍了使用netmeta包实现对二分类变量、连续型变量和罕见事件的网状meta分析。今天的文章介绍如何使用netmeta程序包实现生存数据的频率学网状meta分析&#xff0c;用来评估6种免疫疗法&#xff08; Camrelizumab、Tislelzumab、Toripalimab、Sintilimab、Pemb…

美易官方:盘前道指期货涨0.5%,游戏驿站跌逾15%

在股市开盘前的交易时段&#xff0c;道指期货上涨了0.5%&#xff0c;而游戏驿站&#xff08;GameStop&#xff09;的股价却出现了大幅下跌&#xff0c;跌幅超过15%。这一市场动态引发了投资者的广泛关注&#xff0c;也反映了当前股市的复杂性和不确定性。 美股股指期货周三盘前…

影视文件数字指纹签名检验系统的用户操作安全大多数

国内网盘服务大规模出现版权问题。 一些个人或团体会通过云存储客户端将主要由电影、电视、音乐组成的文件上传到网盘&#xff0c;然后在圈子里分享。 可供下载。 大量受版权保护的视频音乐就是通过这种特殊的盗版方式传播的&#xff0c;而这种传播方式暂时不受监管。 一些云存…

设计一个简单的Qt界面

import sys from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLineEdit, QPushButton, QMessageBoxdef show_confirmation_dialog(text):msg QMessageBox()msg.setWindowTitle("确认框")msg.setText(text)msg.exec_()def main():# 创建应用程序对…

STM32/GD32——自己制定协议和解析协议数据

温馨提醒&#xff1a; 由于我最害怕的就是接触各种新协议&#xff0c;尤其是对各种协议和解析协议数据简直就是职业生涯的噩梦&#xff0c;但工作中不免和不同的协议打交道。本着要啃就啃最难的&#xff0c;大不了放弃的心态。所以我学习了如何自定义制定自己的协议&#xff0c…

小程序的编译上传

小程序如果是hbuilderx开发的&#xff0c;当开发完成后运行到小程序模拟器里面的微信开发者工具&#xff0c;或者&#xff08;发行里面的小程序微信&#xff08;仅适用于uniapp&#xff09;&#xff09;&#xff0c;然后打开微信开发者工具的 项目→里面的导入项目 &#x…

Unity中使用AssetPostprocessor对模型动画处理

在游戏开发的过程中&#xff0c;会遇到模型动作同事频繁的修改模型动画&#xff0c;比如可能某个动作不对了等等。而程序使用的动画clip是从模型中拷贝一份出来的&#xff0c;而在AssetPostprocessor中就可以做一些处理这样模型同事频繁修改动画的话&#xff0c;只需要重新导入…