2017CCPC网络选拔赛

历年ACM-ICPC比赛 历年icpc:http://codeforces.com/gyms?filterContestType=Official+ACM-ICPC+Contest&order=ID_DESC CCPC2018-湖南全国邀请赛-重现赛(感谢湘潭大学) 2018中国大学生程序设计竞赛 - 网络选拔赛 ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 ACM-ICPC国际大学生程序设计竞赛北... 阅读详情

1007:第一个过的题,数位DP

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> P;
#define fi first
#define se second
#define INF 0x3f3f3f3f
#define clr(x,y) memset(x,y,sizeof x)
#define PI acos(-1.0)
const int Mod = 1e9 + 7;
const int maxn = 100 + 10;
int k;
int bits[maxn];

int dight[40],tmp[40];
long long dp[40][40][100][100];
long long dfs(int k,int start,int pos,int s,bool limit)
{
    if(pos<0)
        return s;
    if(!limit&&dp[k][pos][s][start]!=-1)
        return dp[k][pos][s][start];
    int end;
    long long ret=0;
    if(limit)
        end=dight[pos];
    else
        end= k - 1;
    for(int d=0; d<=end; ++d)
    {
        tmp[pos]=d;
        if(start==pos&&d==0)
            ret+=dfs(k,start-1,pos-1,s,limit&&d==end);
        else if(s&&pos<(start+1)/2)
            ret+=dfs(k,start,pos-1,tmp[start-pos]==d,limit&&d==end);
        else
            ret+=dfs(k,start,pos-1,s,limit&&d==end);
    }
    if(!limit)
        dp[k][pos][s][start]=ret;
    return ret;
}
long long calc(ll k,long long a)
{
    memset(dight,0,sizeof(dight));
    int cnt=0;
    while(a!=0)
    {
        dight[cnt++]=a%k;
        a/=k;
    }
    return dfs(k,cnt-1,cnt-1,1,1);
}
int main()
{
    int Tcase;scanf("%d",&Tcase);clr(dp,-1);
    for(int ii = 1; ii <= Tcase; ii ++)
    {
        ll L,R,l,r;scanf("%I64d%I64d%I64d%I64d",&L,&R,&l,&r);
        ll ans = 0;
        for(int i = l; i <= r;i ++)
        {
            ll t = calc(i,R) - calc(i,L - 1);
//            cout << t << endl;
            ans += t * i + (R - L + 1-0 - t);
        }
        printf("Case #%d: %I64d\n",ii,ans);
    }
    return 0;
}
1003:猜了结论,暴力特判小于20的,大于20的直接bad,然后过了。。。比完赛后说有定理,大于6就不行。。。

#include <bits/stdc++.h>
using namespace std;

int T, n, v, a, b, G[300][300];
int in()
{
    char ch;
    int a = 0;
    while((ch = getchar()) == ' ' || ch == '\n');
    a += ch - '0';
    while((ch = getchar()) != ' ' && ch != '\n')
    {
        a *= 10;
        a += ch - '0';
    }
    return a;
}
bool ok()
{
    for(int i = 1; i <= n; i++){
        for(int j = 1; j <= n; j++){
            for(int k = 1; k <= n; k++){
                if((i != j && i != k && j != k) && ((G[i][j] && G[i][k] && G[j][k]) || (!G[i][j] && !G[i][k] && !G[j][k]))) return false;
            }
        }
    }
    return true;
}

int main()
{
    scanf("%d", &T);
    while(T--){
        scanf("%d", &n);
        if(n > 20){
            int vv;
                for(int i = 1; i <= n; i++){
                for(int j = i + 1; j <= n; j++){
                    vv = in();
                }
            }
            puts("Bad Team!");
            continue;
        }
        memset(G, 0, sizeof(G));
        for(int i = 1; i <= n; i++){
            for(int j = i + 1; j <= n; j++){
                v = in();
                G[i][j] = v;
                G[j][i] = v;
            }
        }
        if(ok()) printf("Great Team!\n");
        else printf("Bad Team!\n");
    }

    return 0;
}
1005:打表到1e5。。。

#include<bits/stdc++.h>
#define ll long long
#define ffff  lower_bound 

using namespace std;

double a[10010010];

int main()
{
    ll q = 8,qs = 8,qb = 2;
    a[0] = 0;
    a[1] = 0;
    a[2] = 0;
    a[3] = 0;
    a[4] = 2;
    a[5] = 2;
    a[6] = 4;
    a[7] = 5;
    a[8] = 8;
    
    ll fff  = 1e5;
    for(int i = 9;i<=fff;i++)
    {
        
        
        if((i-q) == 1)
        {
            a[i] = (double)qs+(double)(2*qb-1)*0.5;
        }
        else if((i-q) == 2)
        {
            a[i] = (double)qs+(double)qb*2;
        }
        else if((i-q) == 3)
        {
            a[i] = (double)a[i-1]+(double)(2*(qb+1)-1)*0.5;
        }
        else if((i-q) == 4)
        {
            a[i] = (double)qs+(double)qb*2+((double)qb+1)*2;
                q = i;
                qs = a[i];
                qb = qb+1;
        }
        
    
        
     } 
//    printf("%.2f\n",a[100000]);
     int Tcase;

     scanf("%d",&Tcase);
     while(Tcase--)
     {
         double mm;
         scanf("%lf",&mm);
         int ans = ffff(a,a+100000,mm) - a;
         printf("%d\n",ans);
         
     }
     




 return 0;
}
1004:二分加哈希。。卡着时间过的,正解应该是kmp加二分

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
typedef unsigned long long ull;
typedef long long ll;
const int mod = 1e9 + 7;
const int maxn = 1e6 + 1;
const ull b=131;
char s1[maxn],s2[maxn],s3[maxn];
ull hash1[maxn],hash2[maxn],bit[maxn];
int main()
{
    bit[0]=1;
    for(int i=1;i<=1000000;i++)
        bit[i]=bit[i-1]*b;
    int t;scanf("%d",&t);
    while(t--)
    {
        scanf("%s",s3+1);ll ans=0;
        int l1=strlen(s3+1);
        for(int i=1;i<=l1;i++)s1[i]=s3[l1-i+1];
        scanf("%s",s3+1);int l2=strlen(s3+1);
        for(int i=1;i<=l2;i++)s2[i]=s3[l2-i+1];
        for(int i=1;i<=l1;i++)hash1[i]=hash1[i-1]*b+s1[i];
        for(int i=1;i<=l2;i++)hash2[i]=hash2[i-1]*b+s2[i];
        for(int i=1;i<=l1;i++)
        {
            int l=0,r=min(l2,l1-i+1)+1;
            while(r-l>1)
            {
                int mid=(l+r)>>1;
                if(mid-1+i>l1){r=mid;continue;}
                if(hash1[i+mid-1]-hash1[i-1]*bit[mid]==hash2[mid]-hash2[0]*bit[mid])
                    l=mid;
                else
                    r=mid;
            }
            ans+=(long long)l*(l+1)/2;
            ans%=mod;
        }
        printf("%I64d\n",ans);
    }
    return 0;
}

能不能出线。。看运气吧!



2018CCPC网络赛题解 2018中国大学生程序设计竞赛 - 网络选拔赛 立即下载

相关推荐

代码生成 | 安时积分法模型搭建

安时积分法是电池电量计量最基础的方法,今天我们用simulink建模的方式做一个安时积分模型,从而更好地理解安时积分的思想也掌握建模的基础操 ​新建文件 打开MATLAB启动simulink新建一个模型文件 定义变量 和手写代码一样,先定义几个后面要用到的变量,在simulink建模时新建变量用Data Store Memory模块。双击填入要定义的变量名,然后在signal attributes赋初值 如此方法新建四个变量current(电流)初值1000mA、tatol_cap(总容量

ningvay的博客 1万+

2021中国大学生程序设计竞赛(CCPC)- 网络选拔赛 GCD on Sequence(线段树)

#include<bits/stdc++.h> using namespace std; using ll=long long; const int N=100010; vector<int> vec[N]; int n,a[N],p[N]; ll ans[N]; struct node { int l,r; ll v; int mx,tag; }tree[N<<2]; void pushup(int u) { tree[u].v=tre

Fighting_Peter的博客 598

Qwen 三代进化全景对比:从 Qwen2.5 到 Qwen3 再到 Qwen3.5

本文对比了阿里巴巴通义千问三代大模型(Qwen2.5、Qwen3、Qwen3.5)的技术演进。18个月内,模型在架构、训练数据和能力上实现显著突破:从纯稠密结构(Qwen2.5)发展为混合注意力架构(Qwen3.5),支持语言从29种扩展至201种,并实现原生多模态融合。关键进展包括引入MoE架构、Gated DeltaNet混合注意力机制(计算效率提升10倍)、以及从独立模态到早期视觉语言联合训练的转变。模型阵容从7个通用尺寸发展为8+个混合架构,最大参数量达397B,上下文窗口扩展至256K(托管版1M

m0_47999117的博客 1万+

Hdu 6156 Palindrome Function 2017 CCPC网络赛

数位dp

CrystalDavid的博客 407

安卓游戏存档修改全攻略:以《英雄迷宫冒险》为例(附避坑指南)

本文详细介绍了安卓游戏存档修改的全过程,以《英雄迷宫冒险》为例,涵盖基础认知、工具选择、实战修改及风险控制。通过十六进制编辑和UTF-8编码解析,玩家可以修改金钱、角色属性和物品数量等数据,同时提供了避坑指南和伦理考量,帮助玩家在享受修改乐趣的同时保持游戏体验的平衡。

weixin_29209801的博客 392

TI LP87745-Q1汽车雷达PMIC评估:从硬件设计到性能测试全解析

在汽车电子和高级驾驶辅助系统(ADAS)中,电源管理单元(PMIC)是确保传感器稳定可靠运行的核心。其工作原理在于集成多路高效电源转换器(如Buck、Boost)和精密监控电路,通过数字接口实现灵活配置与实时诊断。这项技术的核心价值在于为毫米波雷达等关键负载提供低噪声、高精度、满足严格时序与功能安全(ASIL)要求的供电方案,从而提升整个感知系统的信噪比与可靠性。其典型应用场景包括自动驾驶域控制器、车载传感器融合模块等。本文以德州仪器(TI)的LP87745-Q1专用PMIC及其评估模块(EVM)为例,深入

weixin_27017211的博客 311

2017 CCPC网络赛 1009 The Designer(未完待续)

The Designer                                                        Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Keep trying, keep going 658

道岔故障监测系统设计(源码+开题)

通过实时监控道岔的工作状态,系统能够及时发现异常情况,预防潜在的安全隐患,从而减少事故发生的概率。此外,监测系统还能够为维护人员提供详细的数据支持,帮助他们更准确地判断道岔的磨损程度和故障类型,优化维修计划,延长道岔的使用寿命。随着智能化、自动化技术的发展,道岔故障监测系统的设计与应用也将推动铁路行业的技术进步,为实现智能铁路和未来交通系统的构建奠定基础。因此,开展道岔故障监测系统的设计研究,不仅具有重要的工程实践价值,也有助于推动铁路运输行业向更高水平的发展。

灵军程序设计 771

2026 CCPC/ICPC 官方报名通知、赛事规则、赛事手册

官方报名通知、网络预选赛排名规则、赛事手册

努力向上的大学生一枚⭐ 1104

Qt C++ + Qt 3D 的数字孪生工厂

以下是一个基于 **Qt C++ + Qt 3D** 的数字孪生工厂完整源码示例,集成了 **Qt 3D** 产线建模和 **WebSocket** 实时数据交互。ui->qualifiedProductsLabel->setText(QString("合格产品: %1").arg(data.qualifiedProducts));ui->totalProductsLabel->setText(QString("总产量: %1").arg(data.totalProducts));

寒寒豆豆软件公司的博客 149

【StreamSet】ETL之StreamSet之Pipelines的状态监听之WebHook钉钉篇

介绍下StreamSets的状态监听以及钉钉的webhook的互联,这位博友问的恰是时候,不久前我刚刚对接过钉钉的机器人,这次看到这个问题,对我来说,应该轻车熟路了,那就有了这篇博文,状态监听之钉钉篇。...

m0_54252387的博客 487

2019CCPC 网络选拔赛 解题报告

2019中国大学生程序设计竞赛(CCPC) - 网络选拔 1001 ^&^(HDU6702) Problem Description Bit operation is a common computing method in computer science ,Now we have two positive integersAandB,Pleas...

小小前端攻城狮的博客 3346

2026 蓝牙技术趋势展望:信道探测、Auracast、高吞吐 HID 与 AI 融合引领行业变革

蓝牙技术2026年展望:信道探测、Auracast广播音频和AI融合将引领创新。蓝牙信道探测技术将实现亚米级精确定位,在工业资产追踪和汽车数字钥匙领域大显身手。Auracast广播音频将持续拓展公共场所应用,提升音频包容性体验。高数据吞吐量和超低延迟功能将支持AR/VR等新兴场景。AI与蓝牙的深度融合将推动可穿戴设备智能化发展,实现实时健康监测和个性化音频服务。蓝牙技术凭借其多功能性和创新力,正成为连接万物的关键技术,持续推动行业变革和生活品质提升。

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 113

2017CCPC网络选拔赛1005CaoHaha's staff(规律贪心)

2017CCPC网络资格赛1005 描述 “You shall not pass!” After shouted out that,the Force Staff appered in CaoHaha’s hand. As we all know,the Force Staff is a staff with infinity power.If you can use it

WaveBridge的博客 640

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

2017CCPC 网络选拔赛 1005 CaoHaha's staff

http://acm.hdu.edu.cn/showproblem.php?pid=6154 题意就是在一个平面直角坐标系里面,每一笔只能画1的直线或者是根号2的斜对角线,给出一个面积,求最少需要多少笔才能围成一个封闭图形的面积大于等于给出的面积 比赛的时候一直在瞎画图,思路很乱,结果没有找到规律。 结果看到题解,才发现自己想的差不多了就是没有去总结一下,其实就是用根号2的边为菱形的

三水的鱼塘♂ 774

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

2017ccpc网络选拔赛 1005 CaoHaha's staff

CaoHaha's staff Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 447    Accepted Submission(s): 266 Problem Description "You shall not p

Com_ice的博客 718

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

2017CCPC 网络选拔赛1003 Ramsey定理

Ramsey定理    任意6个人中,一定有三个人互为朋友,或者互相不是朋友。证明这里我就不证明了。下面链接有证明 鸽巢原理 Ramsey定理AC代码#include <stdio.h> #include <algorithm> using namespace std; const int maxn = 3000+5; bool r[maxn][maxn]; int main() { i

flyawayl的博客 886

2017CCPC 网络选拔赛 1003 Friend-Graph

http://acm.hdu.edu.cn/showproblem.php?pid=6152 给一张图,0代表不是朋友,1代表是朋友,问存不存在至少有三人互相不是朋友或者是互相是朋友的情况。 模拟暴力,套三层循环,枚举三个不同的人来判断,注意要剪枝避免重复计算。 关键:这道题里 朋友的朋友不是朋友,天哪。。。 #include #include #include #incl

三水的鱼塘♂ 814

2017CCPC网络选拔赛 1003-Friend-Graph

Friend-Graph                                                   Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Keep trying, keep going 523

2017CCPC网络选拔赛1003Friend-Graph

这道题目的意思是说在一个团队中如果有超过3个人相互认识,或者超过3个人互相不认识,就视为不好的团队,否则就是好的团队。 这一题目题面说的不是很清楚,一开始以为间接朋友也是朋友,即就是朋友的朋友也是朋友。 按照这样写了下以后WA,才发现自己错了。 于是只好推倒重写,结果到比赛快借宿以后想到方法。 这里需要一个定理做支撑 世界上任意六个人中,一定有三个人互相认识,或三个人互相不认识

Yuki_fx的博客 1501

A Secret 2017 CCPC 网络选拔赛 hdu 6153

A Secret 2017 CCPC 网络选拔赛 hdu 6153

logch的博客 551

简单规律 HDU - 6154 CaoHaha's staff[2017 CCPC网络选拔赛]

CaoHaha's staff题目链接Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 667 Accepted Submission(s): 393Problem Description “You shall not pass!”

米兰的小科比 363

HDU 6152 Friend-Graph(2017CCPC网络选拔赛)【Floyed求传递闭包】

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=6152【中文题意】就是一个好的队伍符合以下条件:不会有三个人互相认识或三个人互相不认识。 【思路分析】题目时间给的很足,直接用floyed跑完传递闭包然后暴力搞一下就行了。 【AC代码】#include<iostream> #include<cstdio> #include<cstdlib

linlinsong—ACM界蒟水! 435

CCPC 网络赛 2017 经验总结

因为太惨不知道写什么 = = 2个小时才过1003 的题,  想复杂了, == , 之前不知道这个定理    超过六个点一定有三元环或者三元独立集 以后输出记得要复制粘贴,今天因为这个还WA了一发,不过已经罚时爆炸了 == 然后找1005的规律找了半天,  发现之后就写出来了,找规律还是出现很频繁啊 最后学姐开了1007题,有一部分的数值想直接算出来,但是太复杂了,

It__is__OK的博客 2125

从《欧布》到《新世代》:用结构化分析模型客观评价特摄剧集质量

在影视作品分析领域,建立客观、可复用的评价体系是提升鉴赏深度的关键。其核心原理在于将主观感受拆解为可量化的技术维度,如同软件工程中的架构评审,通过多维度指标实现系统化评估。这一方法的技术价值在于,它超越了单纯的情感偏好,为内容对比提供了稳定的分析框架,尤其适用于系列作品或同类型剧集的横向比较。在应用场景上,无论是特摄单元剧、动画番剧还是网络短剧,都可以从叙事结构、角色塑造、主题表达、文武戏平衡及视听语言等维度进行解构。本文以《欧布奥特曼》与《新世代奥特曼》的单元剧为例,具体展示了如何运用这一模型进行深度对比

weixin_34259232的博客 451

2017 ccpc 网络赛 hdu 6156

HDU - 6156 题意:如果x是k进制下的回文,那么x的权值为k,否则为1,求L-R的数在l-r进制下所有数的权值和 思路:取出L-1 和 R 在k进制下的前一半的数字,二分上限 AC代码: #include "iostream" #include "iomanip" #include "string.h" #include "stack" #include "queue"...

weixin_30583563的博客 162
上一篇: 51Nod 1686(第K大区间)
下一篇: hdu 5968(异或前缀)
constbh
博客等级 码龄10年 10粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值