Skip to main content
  1. Tags/

算法竞赛

2019

codeforces round 530 div2

·2 mins
A,B,C:都很简单,不说了。 D:一棵树,给出树的结构,以及从树根到某个深度为偶数的节点的路径和,问能否构造一种所有节点点权和最小的树,输出最小点权和。

codeforces hello 2019

·5 mins
好久没玩cf了,竟然还能涨分(虽然我用的小号Orz) 三题,D应该是数学+DP…数学实在是忘干净了。。。

2018

2017

2017 ACM-ICPC Beijing Regional 总结

·3 mins
emmm 最后一场,果然还是写点什么记录一下吧。 DAY 0 # 到宾馆已经晚上八点了,惊讶得发现宾馆和15年来参加regional的是同一个,于是戳了下当时和我们一起来的@Always队的三个已经毕业的学长,求了波rp2333

poj 1949 Chores (拓扑排序+dp)

·1 min
http://poj.org/problem?id=1949 # 题意: # 有n个任务,第i个任务需要时间xi来完成,并且第i个任务必须在它 “前面的” 某些任务完成之后才能开始。

vimrc for ACM-ICPC (赛场用)

·1 min
弄了点比较短的,赛场上用的配置文件orz 1map <F5> :call Co()<CR> 2func! Co() 3 exec "w" 4 exec "!g++ % -std=gnu++11 -Wall -o %<" 5 exec "! ./%<" 6 7endfunc 8syntax on 9set nu 10 11autocmd BufNewFile *.cpp exec ":call SetTitle()" 12func SetTitle() 13 let l = 0 14 let l = l + 1 | call setline(l,'#include <bits/stdc++.h>') 15 let l = l + 1 | call setline(l,'using namespace std;') 16 let l = l + 1 | call setline(l,'const int inf = 0x3f3f3f3f;') 17 let l = l + 1 | call setline(l,'#define ms(a,x) memset(a,x,sizeof(a))') 18 let l = l + 1 | call setline(l,'typedef long long LL;') 19 let l = l + 1 | call setline(l,'int main()') 20 let l = l + 1 | call setline(l,'{') 21 let l = l + 1 | call setline(l,' return 0;') 22 let l = l + 1 | call setline(l,'}') 23endfunc 故地重游,rp++

2016 NEERC Northern Subregional Contest A Anniversary Cake (水题)

·1 min
题意: # W_H的方格纸,共有(w+1)_(H+1)个整点,现在将2个蜡烛放在2个不同的整点上。蜡烛不会被放在边界上。现在给出方格纸的尺寸和2个蜡烛的坐标,求一条线段将方格纸拆成2部分,而且这条线段不经过任何一个蜡烛且使得每一部分恰好有一个蜡烛。问线段的起点和终点。

20170929

·1 min
刚刚看了TBBT season 11 episode 1 Sheldon 和Amy 订婚了,Bernadette又怀孕了。

Codeforces eductional round 29

·6 mins
比赛链接 10个月没写题了,菜啊。进行一点恢复性训练好了。 A: 给一个数,可以在填写若干(或者0)个前缀0,问能否变成回文数。

20170504近况

·2 mins
啊。。在准备考试QAQ 明天约了鹅厂面试。。。然而从四月就开始一直考试考试考试….感觉药丸啊?

20140419

·1 min
最让你恶心痛苦的那些人,你必要从他们身上学到最重要和有用的东西。 所有的痛苦都不能白受,克我者必生我。

106. Construct Binary Tree from Inorder and Postorder Traversal(根据中序和后序遍历构建二叉树)

·1 min
/* *********************************************** 1Author :111qqz 2Created Time :2017年04月05日 星期三 16时49分57秒 3File Name :106.cpp 4************************************************ */ 5/** 6 * Definition for a binary tree node. 7 * struct TreeNode { 8 * int val; 9 * TreeNode *left; 10 * TreeNode *right; 11 * TreeNode(int x) : val(x), left(NULL), right(NULL) {} 12 * }; 13 */ 14class Solution { 15public: 16 TreeNode* buildTree(vector<int>& inorder, vector<int>& postorder) { 17 int siz = inorder.size(); 18 if (siz==0) return NULL; 19 int rt = postorder[siz-1]; 20 int pos = -1; 21 for ( int i = 0 ; i < siz; i++) 22 { 23 if (inorder[i]==rt) 24 { 25 pos = i ; 26 break; 27 } 28 } 29 TreeNode *head = new TreeNode(rt); 30 vector<int>in,post; 31 for ( int i = 0 ; i < pos ; i++) 32 { 33 in.push_back(inorder[i]); 34 post.push_back(postorder[i]); 35 } 36 head->left = buildTree(in,post); 37 in.clear(); 38 post.clear(); 39 for ( int i = pos + 1 ; i < siz ; i++) 40 { 41 in.push_back(inorder[i]); 42 post.push_back(postorder[i-1]); 43 } 44 head->right = buildTree(in,post); 45 return head; 46 } 47};