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

长沙网站设计培训机构/最有效的推广方法

长沙网站设计培训机构,最有效的推广方法,小网站 收入,网站建设违法行为1、模拟 2、贪心 3、前缀和 4、猜结论 5、双指针 6、期望DP&#xff08;公式有问题已更改&#xff09; 1. 蘑菇炸弹 思路&#xff1a;一个简单的暴力模拟。 #include <bits/stdc.h> using namespace std; int main() {int n;cin >> n;vector<int>a(n…

1、模拟

2、贪心

3、前缀和

4、猜结论

5、双指针

6、期望DP(公式有问题已更改)

1. 蘑菇炸弹
 

        

思路:一个简单的暴力模拟。

        

#include <bits/stdc++.h>
using namespace std;
int main()
{int n;cin >> n;vector<int>a(n , 0);for(int i = 0 ; i < n ; i ++)cin >> a[i];int cnt = 0;for(int i = 1 ; i < n - 1; i ++){if(a[i] >= a[i - 1] + a[i + 1])cnt++;}cout << cnt;return 0;
}

2. 构造数字

        

       思路:考虑正整数中每一位的贡献:可以发现位数越大的位置贡献越大,因此将M优先分配给高位即可。

        

#include <bits/stdc++.h>
using namespace std;
int main()
{int n , m;cin >> n >> m;for(int i = 0 ; i < n ; i ++){int x = min(m , 9);cout << x;m -= x;}return 0;
}

3. 小蓝的金牌梦

思路: 首先考虑若已知长度为x,如何快速求出子数组最大值,可以用前缀和来O(1)的去解决,然后遍历所有的子数组左端点,时间复杂度总共O(N - X)。接下来考虑所有质数情况:

10^5范围内的质数共有9592个,考虑遍历所有情况:总共的复杂度为O(10^5 * 9592 - \sum prime)约为5e^8,直接暴力做还是能过的,所以直接暴力冲就行。

        

#include <bits/stdc++.h>
using namespace std;
#define LL long long
#define pb push_back
#define x first
#define y second 
#define endl '\n'
#define int long long
const LL maxn = 4e05+7;
const LL N = 5e05+10;
const LL mod = 1e09+7;
const int inf = 0x3f3f3f3f;
const LL llinf = 5e18;
typedef pair<int,int>pl;
priority_queue<LL , vector<LL>, greater<LL> >mi;//小根堆
priority_queue<LL> ma;//大根堆
LL gcd(LL a, LL b){return b > 0 ? gcd(b , a % b) : a;
}LL lcm(LL a , LL b){return a / gcd(a , b) * b;
}
int n , m;
vector<int>a(N , 0);
void init(int n){for(int i = 0 ; i <= n ; i ++){a[i] = 0;}
}
vector<LL>prime;//存储素数
bool vis[N+5];
void su() 
{for(int i=2;i<=N;i++){if(!vis[i])prime.pb(i);for(int j=0;j < prime.size() && prime[j] * i <= N;j ++){vis[prime[j]*i]=1;if(i % prime[j]==0)break;}}
} 
void solve() 
{cin >> n;int sum[n + 5];sum[0] = 0;for(int i = 1 ; i <= n ; i ++)cin >> a[i] , sum[i] = sum[i - 1] + a[i];int maxx = -1e9;for(int i = 0 ; i < prime.size() ; i ++){int len = prime[i];if(len > n){break;}for(int j = len ; j <= n ; j ++){maxx = max(maxx , sum[j] - sum[j - len]);}}cout << maxx;
}            
signed main() 
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cout.precision(10);int t=1;su();//cin>>t;while(t--){solve();}return 0;
}

 4. 合并石子加强版

        

        思路:若只关注一个石头:发现最终他的贡献为其自身权值与其他所有石头权值乘积之和。而其他所有石头也是一样的。因此最终的代价和合并石子的顺序无关,只需要按顺序模拟即可。(longlong会爆,需要unsigned long long )

        

#include <iostream>
using namespace std;
#define int unsigned long long
signed main()
{int n;cin >> n;int a[n];for(int i = 0 ; i < n ; i ++)cin >> a[i];int sum = a[0];int tot = 0;for(int i = 1 ; i < n ; i ++){tot += a[i] * sum;sum += a[i];}cout << tot;return 0;
}

 5. 简单的LIS问题

       

思路:可以发现:修改一个数之后的效果最多能够使得LIS增加1。接下来考虑怎么添加能保证上升子序列增加1:

1、若当前上升子序列不包含最后一个元素,那么将最后一个元素设为10^{100}就一定能使得上升子序列加一。

2、若上升子序列的开头不为0且不为第一个数,那么将第一个数改为0就一定能使得上升子序列增加1。

3、修改子序列中相邻两个数a_{b_{i}} a_{b_{i + 1}}之间的某个数,使得a_{b_{i}} < a_x < a_{b_{i +1}}(b_{i} < x < b_{i + 1})

所以我们需要知道的是:以某个数开头往后所能形成的最长上升子序列以及以某个数结尾能够形成的最长上升子序列。分别设为l[i]以及r[i],对应了以a_{i}结尾能够形成最长上升子序列长度以及以a_{i}开头能够形成的最长上升子序列长度。

对于情况1和情况2,可以直接通过l,r函数来求解,对于情况3,可以想到将lr合并,即最长上升子序列长度为l[i] + r[j] (i <j \ and \ a[i] < a[j]),当j - i > 2 \ and \ a[j] - a[i] >= 2时,则能够在[i , j]之间修改一个数使得LIS增加1。

        

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,ans;
int a[5001],l[5001],r[5001];
signed main()
{cin >> n;for(int i = 1 ; i <= n ; i ++)cin >> a[i];for(int i = 1 ; i <= n ; i ++){l[i] = r[i] = 1;}for(int i = 2 ; i <= n ; i ++){for(int j = 1 ; j < i ; j ++){if(a[i] > a[j])l[i] = max(l[i] , l[j] + 1);}}for(int i = n ; i >= 1 ; i --){for(int j = n ; j > i ; j --){if(a[i] < a[j])r[i] = max(r[i] , r[j] + 1);}}for (int i = 1;i <= n ; i ++){if(i < n){//等效于将末尾设为10^1000ans = max(ans , l[i] + 1);}else{ans = max(ans , l[i]);}if(i != 1 && a[i] != 0){//等效于将 a1 设为0ans = max(ans , r[i] + 1);}else{ans = max(ans , r[i]);}for(int j = i + 2 ; j <= n ; j ++)//等效于将i ~ j 当中的一个数设为ai + 1if (a[j] - a[i] > 1)ans = max(ans , l[i] + r[j] + 1);}cout << ans;
}

6. 期望次数

思路:一道期望DP的板子题,定义DP[i]为当前x = i 时,需要达到目标M的操作期望。

定义SUM为权值总和,定义a[i]为将x * i 的权值。

        接下来考虑转移方程:dp[i] = 1 + ((\sum_{j = 1} ^{n} a_{j} * (dp[i * j])(i * j < M))/sum)

        化简之后得到:dp[i] = (sum +(\sum_{j = 2} ^{n} a_{j} * (dp[i * j])(i * j < M)) / (sum - a[1])

    之后就从后往前DP即可,最终输出DP[1].

#include <bits/stdc++.h>
using namespace std;
#define LL long long
#define pb push_back
#define x first
#define y second 
#define endl '\n'
#define int long long
const LL maxn = 4e05+7;
const LL N = 5e05+10;
const LL mod = 998244353;
const int inf = 0x3f3f3f3f;
const LL llinf = 5e18;
typedef pair<int,int>pl;
priority_queue<LL , vector<LL>, greater<LL> >mi;//小根堆
priority_queue<LL> ma;//大根堆
LL gcd(LL a, LL b){return b > 0 ? gcd(b , a % b) : a;
}LL lcm(LL a , LL b){return a / gcd(a , b) * b;
}
int n , m;
vector<int>a(N , 0);
void init(int n){for(int i = 0 ; i <= n ; i ++){a[i] = 0;}
}
LL qpow(LL a , LL b)//快速幂
{LL sum=1;while(b){if(b&1){sum=sum*a%mod;}a=a*a%mod;b>>=1;}return sum;
}
int dp[N];//从i到最终状态的期望次数
//sum - a[1] / sum dp[i] = Σ(dp[i * j] * a[i * j] / sum) + 1
// dp[i] = Σdp[i * j] * a[i * j] + sum / sum - a[i]
void solve() 
{cin >> n >> m;int sum = 0;for(int i = 1 ; i <= n ; i ++){cin >> a[i];sum += a[i];}for(int i = m - 1 ; i >= 1 ; i --){for(int j = 2 ; j <= n && j * i < m ; j ++){dp[i] += a[j] * dp[i * j];dp[i] %= mod;}dp[i] += sum;dp[i] %= mod;dp[i] *= qpow(sum - a[1] , mod - 2);dp[i] %= mod;}cout << dp[1];
}            
signed main() 
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cout.precision(10);int t=1;
//	cin>>t;while(t--){solve();}return 0;
}

相关文章:

蓝桥杯小白赛第一场(1~6)(期望DP)

1、模拟 2、贪心 3、前缀和 4、猜结论 5、双指针 6、期望DP&#xff08;公式有问题已更改&#xff09; 1. 蘑菇炸弹 思路&#xff1a;一个简单的暴力模拟。 #include <bits/stdc.h> using namespace std; int main() {int n;cin >> n;vector<int>a(n…...

房贷背后数学陷阱-蒙特卡洛算法Monte Carlo揭秘断供为何越来越多(硬核收藏)

前几天写了法拍房相关文章&#xff0c;发现国内断供的房屋越来越多。 中国法拍房数量统计预测模型_2023年法拍房数据竟是 2023年中国法拍房用户画像和数据分析 今早花了2个小时&#xff0c;写了蒙特卡洛算法模拟预测按揭贷款断供概率。 先给大家介绍按揭贷款的常用数据。不同…...

spingboot项目实战之若依框架创建新模块

前言 目前的脚手架系统很多&#xff0c;比较早接触诺依框架&#xff0c;以若依框架为参考如何创建新模块 步骤 1. 下载诺依框架&#xff0c;依照参考说明一步步&#xff0c;能做到系统运行起来。 2. 准备好mysql文件&#xff0c;创建新数据库表 3. 数据库管理工具navicat…...

智能优化算法应用:基于飞蛾扑火算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于飞蛾扑火算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于飞蛾扑火算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.飞蛾扑火算法4.实验参数设定5.算法结果6.…...

3分钟,掌握“曲面屏显示屏”

在3分钟内掌握“曲面屏显示屏”的概念和特点&#xff0c;可以按照以下步骤进行&#xff1a; 一、了解曲面屏显示屏的基本概念 曲面屏显示屏是一种采用柔性塑料的显示屏&#xff0c;主要通过OLED面板来实现。相比直面屏幕&#xff0c;曲面屏幕弹性更好&#xff0c;不易破碎。此外…...

光栅化渲染:光栅化算法实现

光栅化是将图元转换为二维图像的过程。 该图像的每个点都包含颜色和深度等信息。 因此&#xff0c;对图元进行光栅化由两部分组成。 第一个是确定窗口坐标中整数网格的哪些方格被图元占据。 第二个是为每个这样的方块分配颜色和深度值。 &#xff08;OpenGL 规范&#xff09; N…...

Python-Opencv图像处理的小坑

1.背景 最近在做一点图像处理的事情&#xff0c;在做处理时的cv2遇到一些小坑&#xff0c;希望大家遇到的相关的问题可以注意&#xff01;&#xff01; 2. cv2.imwrite保存图像 cv2.imwrite(filename, img, [params]) filename&#xff1a;需要写入的文件名&#xff0c;包括路…...

[LCTF 2018]bestphp‘s revenge

文章目录 前置知识call_user_func()函数session反序列化PHP原生类SoapClient 解题步骤 前置知识 call_user_func()函数 把第一个参数作为回调函数调用 eg:通过函数的方式回调 <?php function barber($type){echo "you wanted a $type haircut, no problem\n";}c…...

HTML中常用表单元素使用(详解!)

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍HTML中常用表单元素使用以及部分理论知识 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601; &#x1f349;博主收将持续更新学习记录获&#xff0c;友友们有任何问题可以在评论区留言 …...

掌握C++模板的艺术:类型参数、默认值和自动推导

掌握C模板的艺术:类型参数、默认值和自动推导 模板参数 类型模板参数 在 Grid 示例中&#xff0c;Grid 模板有一个模板参数&#xff1a;存储在网格中的类型。编写类模板时&#xff0c;您需要在尖括号内指定参数列表&#xff0c;例如&#xff1a; template <typename T&g…...

Unity_使用FairyGUI搭建登录页面

Unity_使用FairyGUI搭建登录页面 1. 使用FairyGUI准备一个UI界面&#xff0c;例如&#xff1a;以下登录 2. 发布导出&#xff08;发布路径设置为Unity的Asset下任何路径&#xff09; 3. Unity编辑器安装FairyGUI包资源&#xff08;在资源商店找见并存储为我的资源&#xff0c;…...

百岁时代即将来临,原知因成为消费新潮流

什么叫长寿时代?泰康保险首席执行官陈东升指出&#xff1a;长寿时代&#xff0c;就是百岁人生即将来临&#xff0c;人人带病长期生存。而在这个时代&#xff0c;人类最大的变化在于“生命尺度的改变”&#xff0c;比如过去20岁是年轻人&#xff0c;40岁中年人&#xff0c;60岁…...

16:00的面试,16:07就出来了,问的问题过于变态了。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到六月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40…...

VUE宝典之el-dialog使用

文章目录 &#x1f341;前言&#x1f341;el-dialog简介&#x1f341;el-dialog属性&#x1f341;el-dialog示例&#x1f341;父子组件值传递示例 &#x1f341;前言 el-dialog是Element UI库中的一个重要组件&#xff0c;用于在Vue应用程序中创建弹出框。它提供了一组实用的属…...

Cocos Creator:坐标系

Cocos Creator&#xff1a;坐标系 坐标系节点位置坐标转换v3.8 实现原理&#xff08;不想了解可以直接跳过&#xff09;简单示例&#xff1a;&#xff08;干货or解决方案在这里&#xff01;&#xff09; 锚点缩放和旋转 总结心得 在 Cocos Creator 3.8 中&#xff0c;节点坐标系…...

logback日志框架使用

依赖引入 <dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.1.7</version> </dependency> 使用logback日志框架只需要引入以上即可&#xff0c;(我们平时使用较多的Slf4j…...

【八】python装饰器模式

文章目录 8.1 装饰器模式简介8.2 装饰器模式作用8.3 装饰器模式构成8.3.1 装饰器模式包含以下几个核心角色&#xff1a;8.3.2 UML类图 8.4 装饰器模式python代码实现8.4.1 基本装饰器的使用8.4.2 多个装饰器的执行顺序8.4.3 带返回值的装饰器的使用8.4.4 装饰器模式-关联类模式…...

Unity-小工具-LookAt

Unity-小工具-LookAt &#x1f959;介绍 &#x1f959;介绍 &#x1f4a1;通过扩展方法调用 gameObject.LookAtTarget&#xff0c;让物体转向目标位置 &#x1f4a1;gameObject.StopLookat 停止更新 &#x1f4a1;可以在调用时传入自动停止标记&#xff0c;等转向目标位置后自…...

TCP实现一对一聊天

一&#xff0c;创建类 二&#xff0c;类 1.ChatSocketServer类 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Sca…...

全面高压化与全面超快充,破解新能源汽车的时代难题

是什么让新能源车主感到疲惫与焦虑&#xff1f;是什么阻挡更多消费者选择新能源汽车&#xff1f;我们在身边进行一个简单的调查就会发现&#xff0c;问题的答案非常一致&#xff1a;充电。 充电难&#xff0c;充电慢的难题&#xff0c;始终是困扰新能源汽车产业发展&#xff0c…...

02 CSS基础入门

文章目录 一、CSS介绍1. 简介2. 相关网站3. HTML引入方式 二、选择器1. 标签选择器2. 类选择器3. ID选择器4. 群组选择器 四、样式1. 字体样式2. 文本样式3. 边框样式4. 表格样式 五、模型和布局1. 盒子模型2. 网页布局 一、CSS介绍 1. 简介 CSS主要用于控制网页的外观&#…...

MyBatis框架中的5种设计模式总结

前言 MyBatis框架中使用的5种设计模式分别是&#xff1a;1、建造者模式&#xff08;生成器模式&#xff09;。2、工厂模式。3、单例模式。4、代理模式。5、适配器模式。 1、建造者模式&#xff08;生成器模式&#xff09; 在MyBatis环境的初始化过程中&#xff0c;SqlSessio…...

ffmpeg相关命令

视频转码 dav转化为mp4格式 ffmpeg -i 2021-08-10.dav -codec copy 11.mp4二进制文件转为mp4格式 // -c:v 指定视频流编码器&#xff0c;不指定编码会默认用mp4这种容器的默认音视频编码进入编码 // copy&#xff1a;不重新编码直接copy源视频流ffmpeg -i 1701687125-4fc72a…...

锂电3V升12V1A升压芯片WT3209

锂电3V升12V1A升压芯片WT3209 WT3209是一款高功率密度全集成BOOST升压转换器&#xff0c;具备高效能解决方案。3V升12V1A,5V升12V1A WT3209内部集成的功率MOSFET管导通电阻为上管13mΩ和下管11mΩ&#xff0c;具备2A开关电流能力&#xff0c;并且能够提供高达12.6V的输出电压。…...

Unity 置顶OpenFileDialog文件选择框

置顶文件选择框 &#x1f32d;处理前&#x1f959;处理后 &#x1f32d;处理前 &#x1f959;处理后 解决方案...

oomall课堂笔记

一、项目分层结构介绍 controller层&#xff08;控制器层&#xff09;&#xff1a; 作用&#xff1a;负责输出和输入&#xff0c;接收前端数据&#xff0c;把结果返回给前端。 1.处理用户请求&#xff0c;接收用户参数 2.调用service层处理业务&#xff0c;返回响应 servi…...

Qt6.5类库实例大全:QFrame

哈喽大家好&#xff0c;我是20YC小二&#xff01;欢迎扫码关注公众号&#xff0c;现在可免费领取《C程序员》在线视频教程哦&#xff01; ~下面开始今天的分享内容~ 1. QFrame介绍 QFrame是Qt框架中的一个框架控件类&#xff0c;主要用于在图形用户界面(GUI)中创建框架&#…...

Java 数据结构篇-用数组、堆实现优先级队列

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 优先级队列说明 2.0 用数组实现优先级队列 3.0 无序数组实现优先级队列 3.1 无序数组实现优先级队列 - 入队列 offer(E value) 3.2 无序数组实现优先级队列 - 出…...

Reactor模型

目录 1.Reactor模型是什么2.Reactor 模型应用场景3.使用 Reactor 模型的软件4.Reactor 模型 与 Actor 模型 的关系 本文主要介绍Reactor模型基本概念以及应用场景。 1.Reactor模型是什么 Reactor模型是一种事件驱动的设计模式&#xff0c;用于处理服务请求&#xff0c;它是由…...

【SpringCloud】通过Redis手动更新Ribbon缓存来解决Eureka微服务架构中服务下线感知的问题

文章目录 前言1.第一次尝试1.1服务被调用方更新1.2压测第一次尝试1.3 问题分析1.4 同步的不是最新列表 2.第二次尝试2.1调用方过滤下线服务2.2压测第二次尝试2.3优化 写到最后 前言 在上文的基础上&#xff0c;通过压测的结果可以看出&#xff0c;使用DiscoveryManager下线服务…...