关于自动AC机的一些小故事

P1576 最小花费

@[小粉兔](/space/show?uid=10703) 改了之后双倍调用开销吧qaq 标准操作不是 `friend operator<(const Node&,const Node&);` 么qaq
by rvalue @ 2019-02-17 21:15:03


顺便说不嫌麻烦的话写个普通比较函数套成 `std::function` 放在模板参数也行(逃 效果是一样的
by rvalue @ 2019-02-17 21:16:23


(淦 忘写返回值类型了)
by rvalue @ 2019-02-17 21:16:56


优先队列内部实现需要一个<运算符,如果不定义的话就会出错
by Zyque @ 2019-02-17 21:18:15


@[chino在我身下受](/space/show?uid=111762) 哦还有结构体的构造函数怎么写
by Andrew82 @ 2019-02-17 21:19:17


@[Andrew82](/space/show?uid=109378) 额。。你是说什么构造函数?
by _ctz @ 2019-02-17 21:21:36


@[chino在我身下受](/space/show?uid=111762) 好吧,我在网上找到了。。
by Andrew82 @ 2019-02-17 21:23:53


@[小粉兔](/space/show?uid=10703) ``` struct node { int dis; int pos; node(int a,int b):dis(a),pos(b){} friend bool operator <(node a,node b) { return a.dis<b.dis; } }; ``` 大佬确定这样写没有问题?我就用这代码替换了一下原来P4779的迪杰斯特拉的重载然后只剩了15分??
by Andrew82 @ 2019-02-17 21:39:55


好吧,是大于小于符号打错了 但是话说这样: ``` struct node { int dis; int pos; node(int a,int b):dis(a),pos(b){} friend bool operator <(node a,node b) { return a.dis<b.dis; } }; ``` 和这样: ``` struct node { int dis; int pos; node(int a,int b):dis(a),pos(b){} friend bool operator <(node a,node b) { return a.dis>b.dis; } }; ``` 为什么上面是降序,下面是升序?
by Andrew82 @ 2019-02-17 22:03:14


@[Andrew82](/space/show?uid=109378) 你自己写挂了…… 注意 pq 是大根堆,但是你需要的是小根堆
by 小粉兔 @ 2019-02-17 22:03:47


上一页 | 下一页