0%

传送门: 2018 Multi-University Training Contest 2 1007 Naive Operations

题目

Naive Operations

Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 502768/502768 K (Java/Others)

Problem Description

In a galaxy far, far away, there are two integer sequence a and b of length n.
b is a static permutation of 1 to n. Initially a is filled with zeroes.
There are two kind of operations:
1. add l r: add one for $a_l,a_{l+1}…a_r$
2. query l r: query $\sum_{i=l}^r \lfloor a_i / b_i \rfloor$

阅读全文 »

归并排序思路很简单, 但自己一直不会敲, 也没敲过。 大学算法课本上的代码丑得不行, 嫌弃得要死。 所以自己只知道它的思想。 这几天打高校遇到了求逆序数对的问题,用树状数组来写会爆内存,需要用到归并的思想。于是自己打算好好看一下归并排序,发现紫书上的代码非常简洁,心喜,很快就记住了这段代码,并用自己喜欢的风格敲了一遍。

阅读全文 »

传送门:https://www.nowcoder.com/acm/contest/141/H

题目描述

Eddy has solved lots of problem involving calculating the number of coprime pairs within some range. This problem can be solved with inclusion-exclusion method. Eddy has implemented it lots of times. Someday, when he encounters another coprime pairs problem, he comes up with diff-prime pairs problem.

阅读全文 »

1001 Maximum Multiple

Problem Description

Given an integer n, Chiaki would like to find three positive integers x, y and z such that: $n=x+y+z$, $x\mid n$, $y \mid n$, $z \mid n$ and $xyz$ is maximum.

Input

There are multiple test cases. The first line of input contains an integer $T$ ($1 \le T \le 10^6$), indicating the number of test cases. For each test case:
The first line contains an integer $n$ ($1 \le n \le 10^{6}$).

Output

For each test case, output an integer denoting the maximum $xyz$. If there no such integers, output $-1$ instead.

阅读全文 »

程序员的第一篇博客文章,当然是 Hello, world! 啦~

1
2
3
4
5
6
7
#include <stdio.h>

int main()
{
printf("Hello, world!");
return 0;
}

试题

简答题(8*10’)

  1. 软件过程框架的普适性活动有哪些。列举其中一项并描述。
  2. 敏捷软件开发是什么?写出其四条宣言。
  3. 需求分析的任务有哪些。需求规格说明书一般包括什么内容。
  4. 用例图、类图、时序图、部署图…… 中任选两个画出样例图。
  5. 软件体系结构是什么?任选一个体系结构说明其基本(元素?具体忘了是啥了)。
  6. 测试有哪四类,分别叙述其目标。
  7. 运用实例列举出三个以上的用户界面设计原则。
  8. 基本路径测试问题(画流图,计算环复杂度,设计测试路径)

叙述题 (20’)

  • 近 50 年中软件开发模型历程?及其原因情况。结合实例阐述。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <bits/stdc++.h>
#define MAXN 105
using namespace std;

int main()
{
char str1[MAXN], str2[MAXN];
int dp[MAXN][MAXN];
int path[MAXN][MAXN];

puts("Please input the first string:");
gets(str1);
puts("Please input the second string:");
gets(str2);
int len1 = strlen(str1), len2 = strlen(str2);

memset(dp, 0, sizeof(dp));
for(int i=0; i<len1; i++)
for(int j = 0; j<len2; j++)
{
if(str1[i] == str2[j])
{
dp[i+1][j+1] = dp[i][j] + 1;
path[i+1][j+1] = 1;
}
else
{
dp[i+1][j+1] = max(dp[i+1][j], dp[i][j+1]);
path[i+1][j+1] = dp[i+1][j] > dp[i][j+1] ? 2 : 3;
}
}

int ans = dp[len1][len2];
printf("The length of LCS is %d\n", ans);
int cnt = ans-1;
char LCS[MAXN];
int i=len1, j=len2;
while(i>0 && j>0)
{
if(path[i][j] == 1)
{
LCS[cnt--] = str1[i-1];
i--, j--;
}
else if(path[i][j] == 2)
j--;
else
i--;
}
puts(LCS);
}

&emsp;&emsp; 可以说,这是自己第一次写程序来保存路径,之前自己总觉得在数组中保存路径是保存确定的位置,经过编码自己了解,其实是要保存转移的方向,再根据方向来回溯。

&emsp;&emsp; 编程真的要细心呀,这个程序自己在程序课上敲码 5 分钟,Debug 两节课。原因竟是 else if(path[i][j] == 2) 中的 == 写错,少打了一个等号,弱智错误呀,调试了两节课才找到。不过找到的时候蛮玄学的,是自己用常用的#ifdef DEBUG 大法时,再判等时想起应该是两个等号, 忽地一想,自己不会是之前判等写错了吧,眼光向下一移,果然…. 解决。事迹已加入脑残系列,可以与上次离散实验中的 if(ischuandi()); 相并列了。

浮生若梦,为欢几何。
  • 准备中午去吃,龚逸舟说老崔,你中午是不是去吃香锅,balabala,吃的时候带上我,你是不是要吃 50 的,分我点呗。我没说话,老龚说老崔不理我一看就是不愿意(当然是开玩笑的那种语气),我冷漠地说了一句在和小姐姐聊天,他说我重要还是小姐姐重要,我说当然是小姐姐重要,他说放屁,当然是我重要。我默默说了一句:“你重。”

    2018-4-29

    阅读全文 »

如果明天没课该多好,这样五一就有五天假了。
崔明浩

&emsp;&emsp; 每个人都要为自己的冲动付出代价,这句话是没错的。就像今天早上醒来时,突发奇想说想要搭个博客,便再忍不住心性,想要立刻完成。博客这种东西之前还要有想搞过的,最初是去年吧,在 CSDN 上开通过一个,打算记录下算法呀学习呀什么的,不过嘛,草草没了下文,开通那一天后再也没更新过,甚至几乎没进过自己的博客。今天搭博客呢,想着自己能不信赖于像 CSDN 这种网站博客的固定样式,把博客做出自己喜欢的样式。(不只是博客,好像很多事情自己都不愿执拗于别人已有的固定的,想做出自己喜欢的样子,哈哈哈)这带来的后果呢,就是自己动手要多一些,不过嘛,自己醒来想搭博客也是想今天一天要做什么的结果。

阅读全文 »