CCF CSP2012-4 区块链[解决中0.8]

第一版拿到了60分,超时了,后面再学习探究 剪剪枝看看有没有希望.

用邻接链表换了bitset,无明显改善效果,去掉了结束后的指针保护无明显效果.手动处理输入无明显结果

第二版拿到了80分超时了, 减掉了消息队列中消息传递时相同的时候取消传递.

题目内容https://blog.csdn.net/best335/article/details/104097464

链的数据结构思考了好一会儿,最后每个节点保存一个自己分链的块指针,所有块哪怕是不要的块都先留着,查询的时候用栈逐个找父节点.

直接模拟了过程,使用消息队列来处理每个节点的更新.

当然如果四小时让我解决这一个题我是解不出来的.

#include "bits/stdc++.h"
#include <cstring>
#include <cstdlib>
#include <cstdio>
#define mk(a,b) make_pair(a,b)
using namespace std;
#define M 502
struct BLOCK{
    BLOCK *parent;
    int len;
    int id;
    BLOCK(BLOCK *p,int l,int i):parent(p),len(l),id(i){}
    BLOCK(){};
};
list<unsigned short int> ADJ[M];
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值