前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【今日三题】素数回文(模拟) / 活动安排(区间贪心) / 合唱团(动态规划)

【今日三题】素数回文(模拟) / 活动安排(区间贪心) / 合唱团(动态规划)

作者头像
_小羊_
发布于 2025-05-12 00:34:14
发布于 2025-05-12 00:34:14
7600
代码可运行
举报
文章被收录于专栏:C++C++
运行总次数:0
代码可运行

素数回文(模拟)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <iostream>
#include <string>
#include <cmath>
using namespace std;

bool isprime(long long n)
{
    if (n < 2) return false;
    for (int i = 2; i <= sqrt(n); i++)
    {
        if (n % i == 0) return false;
    }
    return true;
}
int main()
{
    string s;
    cin >> s;
    for (int i = s.size() - 2; i >= 0; i--) s += s[i];
    if (isprime(stoll(s))) cout << "prime" << endl;
    else cout << "noprime" << endl;
    return 0;
}

活动安排(区间贪心)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <iostream>
#include <algorithm>
using namespace std;

const int N = 2e5 + 1;
using pii = pair<int, int>;
pii arr[N];
int n, a, b, res;

int main() 
{
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        cin >> a >> b;
        arr[i].first = a;
        arr[i].second = b;
    }
    sort(arr, arr + n);
    int l = arr[0].first, r = arr[0].second;
    for (int i = 1; i < n; i++)
    {
        int a = arr[i].first, b = arr[i].second;
        if (a >= r) res++;
        else b = min(b, r);
        l = a;
        r = b;
    }
    cout << res + 1 << endl;
    return 0;
}

合唱团(动态规划)

  • f[i][j]:从前i位同学中找j名同学,最后一个同学必选的最大能力值乘积;
  • g[i][j]:从前i位同学中找j名同学,最后一个同学必选的最小能力值乘积;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <iostream>
using namespace std;

const long INF = 0x3f3f3f3f3f;
const int M = 55, N = 15;
long f[M][N], g[M][N];
long arr[M];
int n, a, k, d;
long res = -INF;

int main() 
{
    cin >> n; 
    for (int i = 1; i <= n; i++) cin >> arr[i];
    cin >> k >> d;
    for (int i = 1; i <= n; i++)
    {
        f[i][1] = g[i][1] = arr[i];
        for (int j = 2; j <= min(i, k); j++)
        {
            f[i][j] = -INF;
            g[i][j] = INF;
            for (int prev = max(i - d, j - 1); prev <= i - 1; prev++)
            {
                f[i][j] = max(max(f[prev][j - 1] * arr[i], g[prev][j - 1] * arr[i]), f[i][j]);
                g[i][j] = min(min(f[prev][j - 1] * arr[i], g[prev][j - 1] * arr[i]), g[i][j]);
            }
        }
    }
    for (int i = k; i <= n; i++) res = max(res, f[i][k]);
    cout << res << endl;
    return 0;
}

本篇文章的分享就到这里了,如果您觉得在本文有所收获,还请留下您的三连支持哦~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-05-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【今日三题】爱丽丝的人偶(贪心) / 集合(排序) / 最长回文子序列(动态规划)
_小羊_
2025/04/16
410
【今日三题】爱丽丝的人偶(贪心) / 集合(排序) / 最长回文子序列(动态规划)
【今日三题】压缩字符串(模拟) / chika和蜜柑(topK) / 01背包
_小羊_
2025/04/13
780
【今日三题】压缩字符串(模拟) / chika和蜜柑(topK) / 01背包
动态规划-区间DP
文章目录 区间DP 四边形不等式优化 例题 石子合并 回文串 区间DP image.png //朴素DP参考 for (int i = 1; i <= n; i++)dp[i][i]=0; for (int len = 1; len <= n; len++){ //枚举区间长度 for (int i = 1; i <= n - len; i++){ //枚举区间的起点 int j = i + len; //根据起点和长度得出终点 for(int k = i; k
唔仄lo咚锵
2020/09/15
4470
【第74题】继续刷动态规划,[NOIP2004 提高组] 合唱队形,AC掉没商量
n 位同学站成一排,音乐老师要请其中的n−k 位同学出列,使得剩下的 k 位同学排成合唱队形。
小码匠
2023/08/31
3200
【第74题】继续刷动态规划,[NOIP2004 提高组] 合唱队形,AC掉没商量
【今日三题】经此一役小红所向无敌(模拟) / 连续子数组最大和(动态规划) / 非对称之美(贪心)
_小羊_
2025/04/16
390
【今日三题】经此一役小红所向无敌(模拟) / 连续子数组最大和(动态规划) / 非对称之美(贪心)
动态规划专题——线性DP
给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。
浪漫主义狗
2022/09/21
6040
【今日三题】小红的口罩(小堆) / 春游(模拟) / 数位染色(01背包)
_小羊_
2025/05/06
630
【今日三题】小红的口罩(小堆) / 春游(模拟) / 数位染色(01背包)
【今日三题】爱吃素(数学) / 相差不超过k的最多数(滑动窗口) / 最长公共子序列(一)(两个数组的dp)
_小羊_
2025/05/04
940
【今日三题】爱吃素(数学) / 相差不超过k的最多数(滑动窗口) / 最长公共子序列(一)(两个数组的dp)
Codeforces Round #828 (Div. 3) (A~D)
A. Number Replacement ---- Origional Link 题目大意 给定一个序列 a 和一个字符串 s。 可以将相同的 a_i 替换为 s_i,若a_i 对应的替换规则唯一。 求是否可以在满足上述条件下完成替换。 ---- 思想: 思维。 当 s_i 所对应的 a_i 首次出现时建立对应规则。 若 s_i 对应的 a_i 出现过且规则不同说明无法完成替换。 ---- 代码: #include <iostream> #include <cstring> #include <cstdi
浪漫主义狗
2022/10/31
3440
河工院首届工业设计大赛程序组(挑战赛)题解
本题主要考察四舍五入,C语言中是四舍六入,但是需要四舍五入,则在结果后面加上0.001即可。
浪漫主义狗
2024/05/07
1460
动态规划专题刷题记录②:最长上升子序列
朴素的LIS做法,这里展示O(n^2)的做法,思考方法见上方最长上升子序列模型的思考方法。
Here_SDUT
2022/06/29
1.1K0
动态规划专题刷题记录②:最长上升子序列
【今日三题】ISBN号码(模拟) / kotori和迷宫(BFS最短路) / 矩阵最长递增路径(dfs)
_小羊_
2025/05/09
350
【今日三题】ISBN号码(模拟) / kotori和迷宫(BFS最短路) / 矩阵最长递增路径(dfs)
AtCoder Beginner Contest 273(A~D)
A - A Recursive Function ---- Origional Link 题目大意: 求 f(k) 如下: f(0) = 1; f(k) = k \times f(k - 1) ---- 思想: 签到题。 ---- 代码: #include <iostream> #include <cstring> #include <cstdio> #include <algorithm> #include <cmath> #include <sstream> #include <vector> #
浪漫主义狗
2022/10/28
3110
动态规划专题刷题记录⑥:区间DP
每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同。
Here_SDUT
2022/06/29
5680
动态规划专题刷题记录⑥:区间DP
动态规划--Kin
动态规划: 1.最大子序列和 2.LIS最长递增子序列 3.LCS最长公共子序列 4.矩阵连乘 5.数字金字塔 1.最大子序列和 #include<iostream> using namespace std; int maxsub(int a[],int n) { int sum=0,b=0; for(int i=0;i<=n;i++) { if(b>0) b+=a[i]; else b=a[i]; if(b>sum) sum=b; } return s
Kindear
2018/05/09
5500
合唱队形【动态规划】【最长递增子序列】
N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, …, K,他们的身高分别为T1, T2, …, TK, 则他们的身高满足T1 < T2 < … < Ti , Ti > Ti+1 > … > TK (1 <= i <= K)。 你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。
来杯Sherry
2023/05/25
3270
51 NOD 1049 最大子段和 动态规划 模板 板子 DP
例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4,13。和为20。
风骨散人Chiam
2020/10/28
3470
18级个人训练赛--2
B --Consecutive Integers AtCoder 5037 思路:水题,签到~
杨鹏伟
2020/09/11
3190
河南工程学院2022级新生周赛(三)题解
A. 6男 ---- 原题链接 题目大意: 给定一个字符串 S,求最长的连续的 6 的字串的长度。 S 可能含有空格。 ---- 思想: 签到题。 读入时注意空格。 ---- 代码: #include <iostream> #include <cstring> #include <cstdio> #include <algorithm> #include <cmath> #include <sstream> #include <vector> #include <queue> #include <stac
浪漫主义狗
2022/10/09
3050
Codeforces Round #826 (Div. 3)(A~D)
A. Compare T-Shirt Sizes ---- Origional Link 题目大意: 给定不同衬衫大小的尺寸编号如:S,M,L。 除 M 之外,X 作为尺寸前缀代表其倍数大小。 如:XXL\gt XL,XXS\lt XS。 给定两个代表衬衫尺寸的字符串,判断衬衫大小。 ---- 思想: 签到题。 判断模拟即可。 ---- 代码: #include <iostream> #include <cstring> #include <cstdio> #include <algorithm> #in
浪漫主义狗
2022/10/28
3190
推荐阅读
相关推荐
【今日三题】爱丽丝的人偶(贪心) / 集合(排序) / 最长回文子序列(动态规划)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验