数列 Array

Week 10 array function #include<iostream> #include<cmath> using namespace std; /* looking for prime within 100. Sieve of Eratosthenes algorithm */ int main() { int sum=0, a[100]={0}; for(int i=2;i<sqrt(100.0);i++) // outer loop for i[2,9] { sum=i; while(sum<100)// inner loop for sum[2,99] { sum=sum+i; if(sum<100) a[sum]=1; // why = ? } } for(int i=2;i<100;i++) { if(a[i]==0)cout<<i<<" "; // why == ? } cout<<""<<endl; return 0; } when a[i] = {9, 15} , how could we calculate and remove it from the array a[n]? ...

2023-12-28 · 1 分钟 · Atom.X

C程序设计进阶

原课程链接:C程序设计进阶 const vs. static const 限制指针实参的功能 指针常量: 不能修改指针所指向的地址。在定义时必须立即初始化。 示例: char* const ptr = &some_char; // ptr 是一个指向 char 的常量指针 *ptr = 'a'; // 合法,修改了 ptr 所指向的 char 的值 ptr = &another_char; // 错误,不能修改 ptr 的值 常量指针: 不能修改指针所指向地址的内容,但可以改变指针所指向的地址。 示例: const char* ptr; // ptr 是一个指向 char 的常量指针 char const* ptr; // 与上一行等效 *ptr = 'a'; // 错误,不能修改 ptr 所指向的 char 的值 ptr = &another_char; // 合法,可以改变 ptr 的值 static 在函数内部或类中声明的静态变量,其生命周期跨越整个程序执行过程(在循环中多次执行,每次循环的初始值继承了上一次循环的值),且只初始化一次。 string literal #include <iostream> using namespace std; int main() { // input arguments int k=0, m=0, n=0; cin>>k; cin>>m>>" ">>n; // wrong expression. } cin operator automatically skips any whitespace, including spaces and newlines. it’s illegal to use “ ” with cin, because it is string literal, cin could not hold string. ...

2023-12-14 · 6 分钟 · Atom.X

计算导论与C语言基础

原课程链接:计算导论与C语言基础 Turing machine The ranking is in descending order of price and working speed Register: carries operation data and results, as fast as a CPU Cache: data buffer Memory: the part that cannot be placed in the CPU External memory (hard disk, USB flash drive) C. Bohm & G. Jacopini, “Flow Diagrams, Turing Machines and Languages ​​with Only Two Formations Rules”, Communications of ACM, vol9(5) May 1966, pp 366-371. Everything in the world is complicated, and there are only three kinds of logic expressed in programs: ...

2023-12-13 · 2 分钟 · Atom.X

公开课《程序设计与算法》

课程笔记 北京大学coursera 程序设计与算法 Specialization 专项课程。 练习题Github 库 作业参考GitHub - chiuchiuuu/programming-and-algorithm 课程名 以文件夹定义 C1, 计算导论与C语言基础 C2, C程序设计进阶 C3, C++程序设计 C4, 算法基础 C5, 数据结构基础 C6, 高级数据结构与算法 C7, 程序开发项目实践 文件名 取名规则:例如 2.3.3.cpp 2.C程序设计进阶 (系列课程的第二课) 3.函数递归(该课第三周) 3.编程题#4:扩号匹配问题(该周第四题) 不能保证全部代码都通过coursera或POJ的评价 Debugging case: % c++ 3.9.1.cpp 3.9.1.cpp:83:9: warning: ‘auto’ type specifier is a C++11 extension [-Wc++11-extensions] for(auto p : v) { ^ 3.9.1.cpp:83:16: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for(auto p : v) { ^ 2 warnings generated. ...

2023-12-1 · 1 分钟 · Atom.X

用AI辅助修复旧照片

为了修复老照片,哪一款AI模型最强大? Google、Microsoft、OpenAI等各大厂商的AI都是通用的大模型,虽然其本身并没有一个专门用于修复旧照片的功能,但它具备一些能力,可以结合其他工具和技术,来辅助完成修复旧照片的任务。 以Google Gemini 为例 Gemini 可以辅助的部分: 图像描述和分析: Gemini 可以对旧照片进行图像描述,识别照片中的问题,例如: “这张照片拍摄于 1950 年代,图像泛黄,有明显的划痕和污渍,人物面部细节模糊。” “照片曝光过度,细节丢失严重,需要调整对比度和亮度。” “照片背景模糊,主体人物清晰,但边缘有噪点。” 这些描述可以帮助你更好地了解照片的问题,并制定修复策略。 文本提示生成: Gemini 可以根据照片的描述,生成更有效的文本提示词,用于图像修复工具(如 Stable Diffusion、Midjourney 等)。 例如: 照片描述: “一张黑白旧照片,人物面部模糊,有轻微划痕。” Gemini 生成提示词: “修复黑白照片,清晰人脸,去除轻微划痕,增强细节,高分辨率。” 更好的提示词可以提高图像修复工具的修复质量。 Stability.ai Github repo: Stability.ai 信息检索: Gemini 可以用来搜索和学习图像修复相关的技术和教程,例如: 搜索 “使用 Photoshop 修复旧照片教程” 搜索 “AI 图像修复工具测评” 搜索 “老照片修复算法” 创意灵感: Gemini 可以提供一些修复的创意灵感,例如: 如果照片缺失部分,Gemini 可以根据照片内容提供可能的场景补充建议。 如果照片颜色褪色,Gemini 可以提供颜色还原的参考方案。 需要配合使用的工具和技术: 图像处理软件 (Photoshop, GIMP): 手动修复照片的工具,可以进行色彩校正、修复划痕、去除污渍等。 AI 图像修复工具 (GFPGAN, Real-ESRGAN, Remini): 利用人工智能技术自动修复照片,可以增强图像分辨率、锐化边缘、还原人脸细节等。 图像增强算法: 例如双三次插值、 Lanczos 插值等,可以提升图像分辨率。 颜色还原技术: 例如使用参考图像或自动色彩校正算法,还原照片的色彩。 总结: Gemini 并非一个“开箱即用”的老照片修复工具,但它可以作为你的助手,帮助你更好地分析照片、生成有效的提示词、学习修复技术、并提供创意灵感。 通过将 Gemini 与其他图像处理工具和技术结合使用,你可以更有效地修复旧照片,恢复它们昔日的风采。 ...

2023-2-25 · 1 分钟 · Atom.X