ccf-csp
csp补题
隔壁李叟
此人很懒,什么都没有写。
展开
-
csp2021-09-4 收集卡牌
csp2021-09-4 收集卡牌题目链接:收集卡牌因为n<=16,卡牌收集情况可以用2^16==65536个状态来表示;又因为k<=5,在最差情况下只抽到一种卡,那么最多需要5*15+1=76次即可收集完成。所以可以用dp[1<<16][77]dp[1<<16][77]dp[1<<16][77]来表示所有状态,dp[state][t]dp[state][t]dp[state][t]表示当前收集情况为statestatestate,且已抽取ttt次的概原创 2021-09-30 09:45:44 · 2752 阅读 · 14 评论 -
csp2021-09-3 脉冲神经网络
神经元与脉冲源是节点,突触是边,按题意模拟即可。突触传递脉冲有一个时间D的延迟,开一个 add[1005][1005]add[1005][1005]add[1005][1005] 数组来记录不同时刻脉冲到达的强度。如果延迟最大是DmaxD_{max}Dmax,那只要记录当前时刻往后 DmaxD_{max}Dmax 时刻内的变化就行,对Dmax+1D_{max}+1Dmax+1 取模以节约空间。把传递脉冲封装成函数,TLE。所有时刻对1001取模,TLE。最后卡着时限过去了(#include&原创 2021-10-04 14:06:06 · 4024 阅读 · 21 评论 -
csp2021-09-2 非零段划分
题目连接:非零段划分非零段可以理解为孤立的岛屿,不同的岛屿之间用 000 分隔开。选择一个正整数ppp,将所有小于ppp的数都变为 000 ,可以理解为海平面上涨到 ppp 的位置,ppp 以下的部分都被淹没,求孤立岛屿数最大是多少。可以先考虑 p=10001p=10001p=10001 的情况:所有数字都被海水淹没了,显然只有 000 个岛屿。然后海平面逐渐下降,观察岛屿数量的变化。可以看出:每当一个凸峰出现,岛屿数就多了一个;而每当一个凹谷出现,原本相邻的两个岛屿就被这个凹谷连接在了一起,岛屿数减原创 2021-10-04 13:26:52 · 3930 阅读 · 33 评论 -
csp2021-09-1 数组推导
若Bi≠Bi−1B_i\not=B_{i-1}Bi=Bi−1 则 Ai=BiA_i=B_iAi=Bi否则 0<=Ai<=Bi0<=A_i<=B_i0<=Ai<=Bi#include<stdio.h>int main(){ int n; scanf("%d",&n); int max=0,min=0,last=0,t; for(int i=0; i<n; i++) { scanf("%d",&t);原创 2021-10-04 14:27:16 · 315 阅读 · 0 评论 -
csp2021-04-4 校门外的树
先预处理因子,用1e5个vector保存每个数字所有因子(不包括数字本身)然后i和j双重循环dp[i]表示从第0个障碍到第i个障碍的方案数量障碍i固定,j从i-1到1 遍历两个障碍间长度的所有因子对于每一个i,用一个set来保存已经使用过的约数如果第j个障碍到第i个障碍间存在某个约数符合条件,那么在j前面的障碍到i之间,这个约数就不再符合条件#include <iostream>#include <string.h>#include <stdio.h>#原创 2021-04-22 21:01:32 · 2881 阅读 · 3 评论 -
csp2021-04-3 DHCP服务器
大模拟,按照题目要求一步一步来。考试时因为题意理解错了只拿了70分,原题是:*对于 Request 报文,按照下述方法处理:检查接收主机是否为本机:若不是,则找到占用者为发送主机的所有 IP 地址,**对于其中状态为待分配的,*将其状态设置为未分配,并清空其占用者,清零其过期时刻,处理结束;我理解成了对于待分配的设置成未分配,然后无论是否在占用中都清空占用者。还是没有理解这个机制。我的做法是用结构体存每一个ip,每一次处理都需要刷新一下所有IP的状态,如果有过期的需要注意:待分配而未占用的,要清空占用原创 2021-04-22 23:21:20 · 1635 阅读 · 3 评论 -
csp2021-04-2邻域均值 前缀和
用二维前缀和保存矩形面积#include<stdio.h>#define MAX(x,y) (((x)>(y)) ? (x) : (y))#define MIN(x,y) (((x)<(y)) ? (x) : (y))int sum[602][602]= {0};int n,l,r,t;int judge(int x,int y){ int x1=MAX(1,x-r)-1; int x2=MIN(n,x+r); int y1=MAX(1,y-r)-1; in原创 2021-04-22 20:45:23 · 668 阅读 · 0 评论 -
csp2021-04-1 灰度直方图
csp2021-04-01 灰度直方图开一个数组来记录下标出现的次数#include<stdio.h>int main(){ int a[256]= {0}; int m,n,l; int t; scanf("%d%d%d",&n,&m,&l); for(int i=0; i<n*m; i++) { scanf("%d",&t); a[t]++; //每输入一个数,对应下标的元素+1 } for(int i=0; i原创 2021-04-22 20:42:34 · 1061 阅读 · 0 评论