- 博客(5)
- 收藏
- 关注
原创 codeforces822c+codeforces612d
这题开始一直不知道怎么入手,研究了一下才明白。 首先是题目给出的是旅行票开始的时间和结束的时间以及花费,这样可以把它们想象成一条带权值的线段,左端点即为开始时间,右端点即为结束时间,权值为花费。 然后将线段根据它们的左端点从小到大排序,(这里另外有个地方十分巧妙就在于用-1来标注反向的线段,用以来记录线段已经用过)。 然后遍历线段,如果是type==1(左端点),则查看在它前面有没有合适的线
2017-10-30 22:15:14 369
原创 数据结构1 2 章小总结
#include using namespace std; Status SqInsert(Sqlist L,Elemtype e){//顺序表中插入元素使原序列依然为不下降(原本为不下降) if(MAXSIZE==L.length) return ERROR; L.length++; for(int i=L.length-1;i>=0;i--){
2017-10-30 21:42:20 223
原创 java实现链表各种操作
// A LinkedIntList object can be used to store a list of integers. import java.util.*; public class LinkedIntList { private ListNode front; // node holding first value in list (null if empty)
2017-10-27 15:16:20 234
原创 求一个集合的所有子集 输出一个数所有平方和的情况 背包问题的递归解决
1、解决这个问题无论采用那种方法首先需要确定的是:对于集合里面的任何一个元素,有两种可能,一种是在子集合里,另一种是不在子集合里。 对此收现金po出的是理解得比较久的代码 public static void subsets(List list) { subsets(list, 0, list.size()); }public static void subsets(Lis
2017-10-23 13:54:15 502
原创 计蒜客 加减乘除 带括号(栈实现和二叉树两种实现)
这题我采用的是基于栈的实现方法。我觉得本题的精髓是定义一个混合栈(既可以存数字又可以存符号,这里参考了别人用结构体数组实现的栈方法,后续还能充当队列使用,相当方便)。 大体上的思路是先定义一个混合栈,然后凡是数字后面有符号的都把它入栈。符号方面因为存在优先级的运算顺序,其处理起来和前一道不带括号的方法一样,即若即将入栈的符号的优先级若大于栈内的就入栈,否则就把栈内的元素出栈加入到混合栈,直到栈顶
2017-10-13 00:43:08 1082
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人