- 博客(8)
- 收藏
- 关注
原创 【区间dp】odeforces1509 C. The Sports Festival
题目链接P.S今天刚和队友讨论dp真得是可简单可难,个人赛就补了一道区间dp的题Orz区间dp首先简单说明一下区间dp的概念吧:顾名思义,区间dp就是在区间上进行动态规划,求解一段区间上的最优解。主要是通过合并小区间的 最优解进而得出整个大区间上最优解的dp算法。题意有一个序列,将这个序列排序,使得排序后前i个数的最大数和最小数之差的和最小。思路状态转移方程:dp[i][j] = min((dp[i-1][j], dp[i][j-1]) + a[j] - a[l]);dp[i][j]表示区间
2021-09-12 00:57:43 79
原创 【思维+枚举】Codeforces-1230C-Anadi and Domino
题意:有如图所示的 21 个多米诺骨牌,给定一个无向图(无自环,无重边),一条边上可以放置一个多米诺骨牌。要求是如果两条边连接同一个顶点,那就必须使这两条边上的多米诺骨牌指向这个顶点的值相等,可以有不放的情况,问给定的图中最多可以放多少个多米诺骨牌。思路:假设n<=6每条边都可以放满多米诺骨牌,当n=7时,必定有2个点对应的数字是相同的,那么怎么确定这2个点呢,我们可以假设点i和点j对应的数字相同,那么当i和j分别与点k有边的时候,我们只能选择在i与k(或j与k)之间放一个多米诺骨牌,相当于我.
2021-09-01 23:00:54 139
原创 【二分】C - Number of Ways题解
C - Number of Ways暴力思路(TLE)求前缀和与后缀和找到和为ave的下标,然后二重循环判断是否满足条件。#include <bits/stdc++.h>#define ll long longusing namespace std;const int MAXN = 5e5 + 5;int a[MAXN];ll sum1[MAXN], sum2[MAXN], ave;vector<int> pos1,pos2;int main() { in
2021-08-13 15:24:02 204 1
原创 个人赛3补题
个人赛3补题题A Caisa and Sugar 所以one type指的是只能买一种糖果,且只能买一个orz#include <iostream>#include <stdio.h>//#include <windows.h>using std::max;const int MAXN = 105;int d[MAXN], c[MAXN], cost[MAXN];int main () { int n, s, ans = -1; sc
2021-07-12 09:49:10 58
原创 个人赛2补题
个人赛2补题AC代码题ARolling Dice #include <iostream>#include <stdio.h>//#include <windows.h>int a, b;bool ans = false;bool dfs(int times, int sum) { if (sum > 6 * times || sum < 1 * times) return false; if (sum / times >
2021-07-10 09:13:49 103
原创 2021-03-17
TJU数据结构第二章作业简答题1、判断带头结点的双向循环链表是否对称Step 1> p和q指针分别指向头结点head的前驱和后继 2>判断p和q指针指向的结点的数据域是否相等 若相等,则p = p -> prior, q = q -> next,继续向后判断 若不相等,则链表不对称 3>循环2步骤直至p == q 或 p -> prior == q结束(p == q属
2021-03-17 21:44:04 733 3
原创 2021-02-01
C++结构体用法struct为结构体关键字,tag为结构体标签,member_list即为所需要的成员的类型以及名称,variable_list即为结构体变量名struct tag { member_list;}variable_list;示例struct node{ int age; string name;} student1, student2;*********************struct node{ int age; string name;};no
2021-02-05 13:50:16 76
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人